先拿到我们的 rpm
https://dev.mysql.com/downloads/mysql/
我们选择好我们所需要的环境以及系统版本
我们需要下载这些 rpm 包
我们的安装顺序在图中也已经给出了。
# 先安装依赖包
rpm -ivh mysql-community-common-8.0.19-1.el7.x86_64.rpm
# 在安装我们的 lib
rpm -ivh mysql-community-libs-8.0.19-1.el7.x86_64.rpm
# 现在,由于我们的这个 mariadb-libs 被 mysql-community-libs-8.0.13-1.el7.x86_64 取代。所以我们需要将这个包给清除掉
yum remove mysql-libs
# 再继续执行
rpm -ivh mysql-community-libs-compat-8.0.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.19-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.19-1.el7.x86_64.rpm
开始查看一下我们的安装结果
# 先看看我们的 mysql 进程
ps -ef | grep mysql
# 查看我们的 mysql 的用户组
cat /etc/group | grep mysql
# 查看我们的mysql的版本
mysqladmin --version
开始修改我们的 /var/lib/mysql 的权限
chown -R mysql:mysql /var/lib/mysql
开始启动我们的 mysql 服务
初始化我们的 MySQL
mysqld --initialize
这里我们的日志文件在 /var/log/mysqld.log 里面,我们所需要的这个 密码 也在这里
cat /var/log/mysqld.log |grep password
启动我们的服务
systemctl start mysqld
然后这里启动服务的时候报了一个错误:
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
这个问题,谷歌了一下,基本确定是我们的权限问题,因为初始化后,有些文件的权限还是 root 的。我们改完权限之后,mysqld 服务就可以正常启动了。
修改我们的安全设置(可以进去之后在进行修改)
网上的大神在这里就开始做这个安全设置的修改,这里,我索性也在这里修改。
启动服务后,我们开始修改我们的 MySQL的安全设置。
mysql_secure_installation
设置远程登录
由于我们禁止 root 用户的远程登录,因此我们这里需要自己去创建新的用户去进行远程登录。
create user 'sun'@'%' identified by '123456789';
grant all privileges on *.* to 'sun'@'%' with grant option;
flush privileges;
这里,如果我们按照 MySQL5.0+ 版本里面那样的设置的话,会报错的。不信你试试。
使用 DBserver 登录到我们的 MySQL
这里在登陆的过程中,有可能出现: Public Key Retrieval is not allowed
最简单的解决方法是在连接后面添加 allowPublicKeyRetrieval=true
结束语
至此,我们的 Centos7 下 MySQL8.0+ 版本数据库配置完成. 这个方式同样适用于Centos8 .