centos7 安装mysql8 及问题解决
大部分参照教程走的,但过程出现不少问题。:
http://www.runoob.com/mysql/mysql-install.html
下载安装
由于centos7 默认是开源的mariadb, yum无自带安装包。
需手动下载。 官网 rpm包,安装。
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
yum update (可选)
yum install mysql-server
初始化 MySQL:
mysqld --initialize
启动 MySQL:
systemctl start mysqld
查看 MySQL 运行状态:
systemctl status mysqld
问题过程
1.版本冲突导致启动失败
- 报错:Unsupported redo log format (0). The redo log was created before MySQL 5.7.9
- 原因: 之前第一版安装过低版本mariadb,未卸载,有相同mysql名字的目录,导致有冲突。
- 解决: 卸载 :发现rpm 里面mariadb已经被替换,只剩mysql8,故卸载mysql8 ,并删除mysql所有相关目录及文件,之后 重装mysql8。
-
find -name mysql yum remove yum install
2.权限问题导致启动失败
- 报错:Starting mysqld (via systemctl): Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details. 具体报错日志没了。。大意是 prestart启动成功,start启动失败。
- 原因: 经检查 /var/lib/mysql目录下很多文件是root所有。
- 解决: 均改为mysql用户。 chown -R mysql /var/lib/mysql
3.修改默认密码
- 大意是 mysql -u root -p 连接不上。 已存在默认密码。故通过 sudo grep ‘temporary password’ /var/log/mysqld.log 查看默认密码,登陆后再修改密码。
4. dbvisualizer 连接不上
- 默认root作用域 localhost , 外网连不上。
修改host解决:
update user set host=’%’ where user =‘root’;
flush privileges; - mysql8 密码认证方式升级,需下载新的驱动。
下载地址:https://dev.mysql.com/downloads/connector/j/8.0.html
导入dbvisualizer 驱动后, 连接成功。