在CentOS7安装MySQL8.0.X,有两种情况:
-
曾经安装过MySQL,或者安装MySQL中途失败的
包括版本冲突、依赖关系错误等等。Error: Package: mysql-community-server-8.0.18-1.el8.x86_64 (mysql80-community) Requires: libc.so.6(GLIBC_2.28)(64bit) Error: Package: mysql-community-server-8.0.18-1.el8.x86_64 (mysql80-community) Requires: libstdc++.so.6(CXXABI_1.3.9)(64bit) You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest
-
新安装的系统,从未安装过MySQL
对于第一种情况,我们需要把MySQL彻底卸载删除干净,重新安装;
对于第二种情况,卸载系统自带的mariadb,再安装MySQL就行。
生产环境下卸载数据库要慎重,确保该数据库是没用的 T-T
一、彻底卸载删除MySQL
卸载
yum -y remove mysql*
查找残余的组件
rpm -qa | grep -i mysql
如果有残余组件就删掉
yum remove mysql-community*
查找残余目录
whereis mysql
如果有残余的目录就删掉
rm -rf XXX
继续查找是否有配置文件之类的
find / -name mysql
把找到的都用rm -rf XXX
删除
卸载后/etc/my.cnf不会删除,需要进行手工删除
rm -rf /etc/my.cnf
删除干净了!接下来就是安装MySQL。
二、安装MySQL
查询是否安装了mariadb
rpm -qa | grep mariadb
卸载mariadb(与MySQL有冲突)
yum -y remove mariadb*
切换到/目录
cd /
创建mysql文件夹
mkdir mysql
进入mysql文件夹
cd mysql
到MySQL官网查找所需的版本,复制下载链接:点击>>MySQL Community Server (Archived Versions)
通过Download链接,下载安装包到mysql文件夹
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar
解压
tar -xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar
清一下屏幕,不做也行
clear
安装common
rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm
安装libs
rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm
安装client
rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm
安装server
rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm
查看已经安装的MySQL列表
rpm -qa | grep mysql
进行初始化操作
mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld
获取初始化生成的密码
cat /var/log/mysqld.log | grep password
下面的 =ap5sV6VyOQX 就是本次初始化生成的密码(划掉那一行是之前安装的,日志没清理 0-0)
以root用户身份登录,使用初始化生成的密码
mysql -uroot -p
更改密码(下面的‘123456’是将要设置的密码,换成自己的就行)
ALTER USER root@localhost IDENTIFIED BY '123456';
如果出现:
MySQL 8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
则执行:
set global validate_password.policy=0;
set global validate_password.length=1;
ALTER USER root@localhost IDENTIFIED BY '123456';
退出MySQL,用新的密码登录,验证是否修改成功
exit
安装完成 ^ - ^
如果想要开启MySQL的远程访问权限,可以参考MySQL8.0开放远程访问的权限