接上一回的话,CentOS7.0下安装好了Nginx服务,对于我们的CNMP,我们可以开始我们的M啦,就是传统意义上的MySql服务
MySql简介
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
官网:https://www.mysql.com/
与其他大型数据库例如 Oracle、DB2、SQL Server等相比,MySQL 自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于 MySQ L是开放源码软件,因此可以大大降低总体拥有成本。
总体来讲,MySql的特点就是,开源,轻量,社区活跃。
MySql获取
CentOS7.0 mini版上默认是没有安装MySql服务的,所以,我们需要自行安装。
MySql的安装有两种形式,yum安装和源码安装,个人推荐源码安装。(因为没有找到源代码,后续有机会奉上源代码安装的博文,今天介绍二进制码的安装)
首先,需要到官网找到MySql的源。来到官网,我们可以看到好多版本,究竟该下载哪个呢?
第一个 MySQL Community Server,这个不要钱!
第二个 MySQL Enterprise 这个要掏钱,不过可以打电话咨询问题,也就是电话技术支持。(土豪想打oracle电话骚扰客服妹子随意)
第三个 MySQL Cluster,这个单独是没法用的,要在1或2的基础上用。当然用来平衡多台数据库的。
第四个 MySQL Workbench,这是个好东西,用来设计数据库的。erwin知道吗?他就是这个作用。(本人也在用这个,只是在mac经常莫名其妙的退出,还未得到解决)
好的,瞄准目标,MySQL Community Server,开始下载。
#wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
这可能需要点时间,让我们先来看看其他内容吧,下载下来之后就是解压,进入目录
#tar zxvf mysql-5.6.35-linux-glibc2.5-x86_64.tar.gz
#cd mysql-5.6.35-linux-glibc2.5-x86_64
创建MySql用户和组
创建 /usr/local/mysql/data 目录
#mkdir /usr/local/mysql
新增MySql用户组
#groupadd mysql
新增mysql用户并设置不可用此账户登录终端
#useradd -r -g mysql mysql -s /sbin/nologin
新增mysql用户和组对mysql根目录的读权限
#chown -R mysql.mysql /usr/local/mysql/
安装MySql
转移MySql文件到/usr/local/mysql中,到达指定目录,安装
#mv ./* /usr/local/mysql/
#cd /usr/local/mysql
#scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
perl组件没有安装,报错,这时,我们需要安装下perl组件
#yum install -y perl-Module-Install.noarch
再次安装,安装完成。
配置MySql
复制配置文件到 /etc/my.cnf,替换原有的文件
#cp -a ./support-files/my-default.cnf /etc/my.cnf
将mysql的服务脚本放到系统服务中
#cp -a ./support-files/mysql.server /etc/init.d/mysqld
配置防火墙
防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口
打开/etc/sysconfig/iptables
#vim /etc/sysconfig/iptables
在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:
“-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT”
然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:
#service iptables restart
OK,一切配置完毕,你可以访问你的MySQL了~
启动MySql服务
#service mysqld start
看到success!表明启动mysql成功。可以ps aux | grep mysql查看。
进入操作页面,现在使用无密码登录,密码设置下面讲到。
#/usr/local/mysql/bin/mysql -uroot
进入后可以尽情的玩耍啦!
密码设置
MySQL启动成功后,root默认没有密码,我们需要设置root密码。
设置之前,我们需要先设置PATH,要不不能直接调用mysql
修改/etc/profile文件,在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH
关闭文件,运行下面的命令,让配置立即生效
#source /etc/profile
现在,我们可以在终端内直接输入mysql进入,mysql的环境了
执行下面的命令修改root密码
#mysql -uroot
mysql> SET PASSWORD = PASSWORD('123456');
若要设置root用户可以远程访问,执行
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
password为远程访问时,root用户的密码,可以和本地不同。
现在,你就可以使用密码123456本地密码登录mysql服务器,使用password远程密码登录远程服务器啦,赶紧试试吧。
好了,今天关于mysql的讲解就到此为止,大家有什么不明白的欢迎在评论区评论,一起探讨交流!
注
重启服务器之后存在两个问题
1、没有自动启动mysqld服务
#chkconfig --add mysqld
然后用这个命令设置开机启动:
#chkconfig mysqld on
最后chkconfig --list确认一下是否设置成功
2、远程不能再次链接mysql了
查看防火墙状态,可能是因为防火墙的原因,导致mysql服务端口3306被阻止了。