一. 参考文章
在安装前搜索了几篇文章,还是跟以前一样,没有一篇文章是可以直接参考从头到尾顺利安装的,中间还是踩了不少的坑,主要原因还是一些内容过期了。本文写于 2021年4月11日!
比如阿里云的原有的centos6镜像已经不可用了,需要更改镜像源地址。比如按照文章删除自带的mysql以后,居然crontab也被卸载了,要不是我装mysql就是为了安装一个新的定时调度工具,可能都发现不了,过一段时间才知道定时任务已经好久没运行了那就惨了…
- 参考文章: centos6.6简易安装mysql_CentOS 6.5/6.6 安装mysql 5.7 最完整版教程 ,这篇文章讲了怎么安装,但没有详细的讲怎么配置数据库的远程访问和开启权限,自动启动等。
- 参考文章: CentOS 6.5/6.6 安装(install)mysql 5.7 最完整版教程 ,这篇文章对配置写的非常详细,但是少了切换最新的安装包的步骤, 装下来可能不是最新的5.7
- 阿里云服务器切换yum镜像源, 因为原来的源过期了,CentOS6已经停止更新了,需要手动切换一下,否则安装东西都找不到 CentOS 6 EOL如何切换源
- 第一次安装时会生成默认密码,但是上面的文章都没有提过,这篇文章说了怎么查看 CentOS7 yum安装mysql5.7,查看默认root密码
- 最后看到这一篇centos7 安装mysql5.7的文章,说明了怎么查找初始密码,只是因为怕centos6和7有区别,才没有在最开始参考这篇文章 CentOS 7 安装MySQL 5.7 或安装指定版本MySQL
- 查看系统日志,因为今天安装mysql后crontab都被卸载了,是用这篇文章知道怎么查看日志的 Linux系统查看系统日志教程
二. 安装过程
- 检测系统是否自带安装mysql, 我这确实有,执行第2步删除
# yum list installed | grep mysql
- 删除系统自带的mysql及其依赖,删除后再执行第1步就没有内容了
yum -y remove mysql-libs.x86_64
- 给CentOS添加rpm源,并且选择较新的源
# wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
# yum localinstall mysql-community-release-el6-5.noarch.rpm
- 查看现有的源,可以看到启用的是mysql5.6 ,所以如果不选择新的,安装的就是5.6了
# yum repolist all | grep mysql
mysql-connectors-community MySQL Connectors Community 启用: 153
mysql-connectors-community-source MySQL Connectors Community - Sour 禁用
mysql-tools-community MySQL Tools Community 启用: 99
mysql-tools-community-source MySQL Tools Community - Source 禁用
mysql55-community MySQL 5.5 Community Server 禁用
mysql55-community-source MySQL 5.5 Community Server - Sour 禁用
mysql56-community MySQL 5.6 Community Server 启用: 644
mysql56-community-source MySQL 5.6 Community Server - Sour 禁用
mysql57-community-dmr MySQL 5.7 Community Server Develo 禁用
mysql57-community-dmr-source MySQL 5.7 Community Server Develo 禁用
- 切换选择新的源,在执行这一步的时候,发现找不到yum-config-manager 这个命令,所以要先安装
# yum-config-manager --disable mysql55-community
# yum-config-manager --disable mysql56-community
# yum-config-manager --enable mysql57-community-dmr
- 安装yum-config-manager,这个是因为系统默认没有安装这个命令,这个命令在yum-utils 包里
yum -y install yum-utils
- 上一步发现找不到安装依赖的包,原来是因为CentOS6已经停止支持了,阿里云默认的镜像已经没了,需要参考文章修改源,参考 CentOS 6 EOL如何切换源
- 修改好以后,执行第6步,第5步,完成新版的启用, 这个步骤在其他文章没写,所以一路安装下去可能就装到老版本了。现在再查看enable的repolist ,就会发现启用的是5.7了
# yum repolist enabled | grep mysql
mysql-connectors-community MySQL Connectors Community 153
mysql-tools-community MySQL Tools Community 99
mysql57-community-dmr MySQL 5.7 Community Server Development Milesto 450
- 安装mysql服务器
yum install mysql-community-server
- 查看初始密码, mysql5.7 第一次安装时会自动生成root密码,生成在mysqld.log文件中
这一步很重要,前面第一篇文章就没提这个,半天找不到初始密码在哪,还有的文章写了一大堆不知道啥意思的去重制初始密码,还好没去踩。
sudo grep 'temporary password' /var/log/mysqld.log
- 修改my.ini, 配置utf8为初始字符集
[root@~]# vim /etc/my.cnf
在[mysqld]部分添加:
character-set-server=utf8
- 启动服务,设置开机启动
service mysqld start
# 查看开机启动状态
[root@~]# chkconfig --list | grep mysqld
# 设置开机启动
[root@~]# chkconfig mysqld on
- 输入上面的默认密码,用这个修改默认密码,必须有大小写,数字,特殊字符,至少8位。
mysql -u root -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourNewPassword';
- 设置远程登录
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourNewPassword' WITH GRANT OPTION;
# 刷新修改, 很重要,这个不执行是不生效的
mysql> flush privileges ;
三. 坑
- TM安装mysql的时候,crontab被卸载了??? 什么鬼,从日志可以看出就是卸载mysql-libs的时候一起被卸载了
(base) [root@myali2 bin]# cat /var/log/messages
Apr 11 03:25:01 iZ8vbgh28uil2h3hnbwf0eZ rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="1157" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Apr 11 09:20:54 iZ8vbgh28uil2h3hnbwf0eZ yum[21644]: Erased: redhat-lsb-core
Apr 11 09:20:54 iZ8vbgh28uil2h3hnbwf0eZ yum[21644]: Erased: sysstat
Apr 11 09:20:54 iZ8vbgh28uil2h3hnbwf0eZ yum[21644]: Erased: cronie
Apr 11 09:20:54 iZ8vbgh28uil2h3hnbwf0eZ yum[21644]: Erased: cronie-anacron
Apr 11 09:20:54 iZ8vbgh28uil2h3hnbwf0eZ yum[21644]: Erased: crontabs
Apr 11 09:20:54 iZ8vbgh28uil2h3hnbwf0eZ yum[21644]: Erased: postfix
Apr 11 09:20:54 iZ8vbgh28uil2h3hnbwf0eZ yum[21644]: Erased: mysql-libs
Apr 11 09:21:24 iZ8vbgh28uil2h3hnbwf0eZ yum[21721]: Installed: mysql-community-release-el6-5.noarch
Apr 11 09:34:07 iZ8vbgh28uil2h3hnbwf0eZ yum[21736]: Installed: libxml2-python-2.7.6-21.el6_8.1.x86_64
Apr 11 09:34:07 iZ8vbgh28uil2h3hnbwf0eZ yum[21736]: Installed: yum-utils-1.1.30-42.el6_10.noarch
Apr 11 10:28:34 iZ8vbgh28uil2h3hnbwf0eZ yum[21754]: Installed: mysql-community-common-5.7.33-1.el6.x86_64
Apr 11 10:28:35 iZ8vbgh28uil2h3hnbwf0eZ yum[21754]: Installed: mysql-community-libs-5.7.33-1.el6.x86_64
Apr 11 10:28:38 iZ8vbgh28uil2h3hnbwf0eZ yum[21754]: Installed: mysql-community-client-5.7.33-1.el6.x86_64
Apr 11 10:28:38 iZ8vbgh28uil2h3hnbwf0eZ yum[21754]: Installed: numactl-2.0.9-2.el6.x86_64
Apr 11 10:29:10 iZ8vbgh28uil2h3hnbwf0eZ yum[21754]: Installed: mysql-community-server-5.7.33-1.el6.x86_64
Apr 11 13:23:31 iZ8vbgh28uil2h3hnbwf0eZ chronyd[1506]: Selected source 100.100.5.1
Apr 11 20:36:36 iZ8vbgh28uil2h3hnbwf0eZ yum[24308]: Installed: 2000:jdk1.8-1.8.0_281-fcs.x86_64
- 把crontab装回来,还好,装回来以后原来的配置还在…
yum install vixie-cron crontabs -y //安装
chkconfig crond on //开机自启动
service crond start //启动