日常工作VLOG。
本次给大家分享一下,服务器CentOS7上面如何正确安装MySQL5.7版本。
一、开始前的开胃菜
在开始之前呢,先分享下关于MySQL和MariaDB的那点事。
众所周知,MySQL是一个非常成熟的、开源的数据库产品,主要由开源社区在维护。由于MySQL之父Widenius先生可能比较缺钱,就以10亿美元的价格,把MySQL卖给了SUN公司,近段时间SUN又被甲骨文公司收购了,所以甲骨文公司就自然而然地拥有了MySQL的处置权。提到甲骨文公司大家应该不陌生,就是大名鼎鼎的Oracle,基本上优秀的开源产品,进了他们公司后就开始闭源收费了。
MySQL之父Widenius先生在离开了Sun之后,觉得依靠Sun/Oracle来发展MySQL实在很不靠谱,于是决定另开一条分支,这个分支的名字就叫做MariaDB。Maria是他女儿的名字,不得不说Widenius先生还真是个女儿控。
MariaDB的横空出世不仅仅是要做MySQL的一个替代品,它的主要目的是创新和提高MySQL的技术。MariaDB跟MySQL在绝大多数方面是兼容的,对于开发者来说,几乎感觉不到任何不同。这意味着,所有使用MySQL的连接器、程序库和应用程序也将可以在MariaDB下正常工作。
目前MariaDB是发展最快的MySQL分支版本,新版本发布速度已经超过了Oracle官方的MySQL版本。
好了,关于MySQL和MariaDB的那点事就分享这么多,有兴趣的筒子们可以自行查找相关资料阅读。
二、正式安装
由于MySQL闭源收费的原因,CentOS系统也将默认数据库改成了MariaDB,所以部分CentOS服务器上会预装MariaDB数据库。如果对MariaDB比较数据的可以不必再折腾安装MySQL。这里为了记录安装过程就继续安装。
在预装MariaDB的服务器上安装MySQL之后可以直接覆盖掉MariaDB。
1、卸载预装
安装之前先检查一下服务器上是否已经安装了MySQL软件。
rpm -qa | grep -i mysql 查mysql相关软件包
rpm -e xxx 卸载查询的软件包
使用下面命令删除已安装软件包:
rpm -ev --nodeps 这里填入上面查询到的软件包,多个批量卸载中间用空格隔开回车即可。
2、下载安装
(1)在服务器上找一个自己喜欢的目录,使用下面的命令下载MySQL安装源文件:
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
下载完毕后的源文件25kb左右。
(2)使用下面的命令安装一下载好的yum源文件。
yum -y install mysql57-community-release-el7-10.noarch.rpm
出现上面的提示说明MySQL安装完毕了。
三、配置及使用
1、启动MySQL
通过下面的命令我们来启动MySQL服务。
systemctl start mysqld.service
此命令启动MySQL控制台不会打印任何日志,所以我们要通过下面的命令来查看MySQL的是否启动成功。
systemctl status mysqld.service
显示如下信息就说明MySQL服务启动成功了。
不过呢,要想连接MySQL还得找到root用户名对应的密码,这个可以通过如下命令在日志文件中进行查找。
grep "password" /var/log/mysqld.log
可以看到,箭头所指之处即为root账号的密码啦。我们copy秘密,通过以下命令即可连接并登陆到MySQL服务。
注意:这里的默认密码只是用于登陆,还不能通过此账号对数据库做任何操作。必须在登陆后重设密码。
我们使用如下命令修改默认密码:
alter user 'root'@'localhost' identified by '这里填入新密码';
这里也要注意下,秘密设置的不符合MySQL安全策略,也会修改不成功的。
四、踩坑
1、启动报错
在安装完毕使用命令启动MySQL服务时,可能会提示如下错误:
Job for mysqld.service failed because the control process exited with error code
这个错误一般是因为原装的MySQL没有卸载干净,可按如下步骤来彻底卸载:
(1)卸载MariaDB数据库。通过如下命令卸载预装的Maria数据库:
rpm -qa | grep mysql(该命令会列出服务器上所有跟mysql相关的包)
rpm -e --nodeps 这里跟上面查出来的mysql包
(2)删除mysql碎片
(3)删除etc目录下的my.conf文件
rm /etc/my.conf
经过上面的步骤后再次启动MySQL软件就不会在出现上面的报错啦。
2、navicat无法连接
在使用Navicat数据库管理工具进行远程连接时,可能会出现如下报错:
1130 - Host '218.94.129.215' is not allowed to connect to this MySQL server
导致该错误的原因是没有修改user表中的host字段,mysql默认root账户对应的host字段值为localhost,需要将其改为%。
Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。
由于我们使用的是root用户,此时就应该通过如下sql命令对user表中的root账户对应的host字段进行修改:
update user set host='%' where user ='root';
这样修改后,远程管理工具就可以愉快的连接上啦。
另外值得注意的是,如果你使用的是云资源,还要在安全组里面开放mysql端口号。
五、总结
好了,到此MySQL的整个安装过程就结束了,后续就可以通过DB工具或者远程连接工具进行愉快的操作和使用啦。
软件安装是一件让人愉悦的事情,但是一不小心也容易踩坑,所以关键在于一个是心细,还有就是遇到问题不要怕,现在网络如此发达,信息大爆炸的时代,利用好网络资源,不懂得就去查阅相关文档文献,对自己在开发过程总也是一大效率神器。
关注 @程序喵子发掘更多有趣有用的东西与大家共同分享,共同进步!
更多精彩推荐: