CentOS 安装 MySQL8
1、卸载原有的MariaDB
1、查看 mariadb 的安装包
如果没有
rpm -qa | grep mariadb
得到结果
mariadb-5.5.68-1.el7.x86_64
mariadb-libs-5.5.68-1.el7.x86_64
mariadb-server-5.5.68-1.el7.x86_64
mariadb-devel-5.5.68-1.el7.x86_64
2、卸载 mariadb
rpm -e mariadb-5.5.68-1.el7.x86_64 --nodeps
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
rpm -e mariadb-server-5.5.68-1.el7.x86_64 --nodeps
rpm -e mariadb-devel-5.5.68-1.el7.x86_64 --nodeps
3、删除 mysql 有关的文件夹
find / -name mysql
得到结果
/etc/selinux/targeted/active/modules/100/mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql
/usr/lib64/perl5/vendor_perl/auto/DBD/mysql
/usr/lib64/perl5/vendor_perl/DBD/mysql
/usr/share/mysql
/usr/local/zabbix-4.4.7/database/mysql
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/lib64/perl5/vendor_perl/auto/DBD/mysql
rm -rf /usr/lib64/perl5/vendor_perl/DBD/mysql
rm -rf /usr/share/mysql
rm -rf /usr/local/zabbix-4.4.7/database/mysql
2、下载MySQL8安装包
1、下载网址 https://dev.mysql.com/downloads/mysql/
2、选择操作系统及下载的版本
Select Operating System: 选择 Red Hat ,CentOS 是基于红帽的,Select OS Version: 选择 linux 7
选择 “No thanks, just start my download.”
开始下载
3、上传安装包
1、进入 /usr/local 文件夹
/usr/local 这个目录是放一些本地的共享资源的
cd /usr/local
2、 创建 mysql 文件夹
mkdir mysql
3、上传安装包
进入到 mysql 文件夹
选择文件,开始上传
我这里使用的SSH工具是MobaXterm,可以直接在工具中上传文件
上传成功
4、开始安装并远程连接
1、解压上传的安装包
通过 tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar 命令解压 tar 包
tar -xvf mysql-8.0.26-1.el7.x86_64.rpm-bundle.tar
2、 通过 rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm --nodeps --force 命令安装 common
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm --nodeps --force
3、通过 rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm --nodeps --force 命令安装 libs
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm --nodeps --force
4、通过 rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm --nodeps --force 命令安装 client
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm --nodeps --force
5、通过 rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm --nodeps --force 命令安装 server
rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm --nodeps --force
6、查看 mysql 的安装包
rpm -qa | grep mysql
7、对 mysql 数据库进行初始化和相关配置
mysqld --initialize
chown mysql:mysql /var/lib/mysql -R
systemctl start mysqld.service
systemctl enable mysqld
8、查看随机生成的 root 用户密码
cat /var/log/mysqld.log | grep password
可以看到,安装过程中生成的随机密码。
9、使用密码登录,修改root用户密码
mysql -uroot -p
# 输入或粘贴随机生成的密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
10、重新登录,创建新用户用以远程登录
mysql -uroot -p
# 创建用户 root1, 密码 root1
mysql> create user 'root1'@'%' identified with mysql_native_password by 'root1';
# 授权
mysql> grant all privileges on *.* to 'root1'@'%' with grant option;
# 刷新修改后的权限
mysql> flush privileges;
如果要使用root用户远程连接,也可以执行上述操作。
11、远程连接刚安装好的 MySql 数据库
5、修改日志时间
1、在查看 mysql 日志
# 查看当前时间
date
# 输出 Thu Jul 22 16:14:35 CST 2021
tail -f /var/log/mysqld.log
# 查看日志
2021-07-22T08:15:01.520916Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1 is enabled for channel mysql_main
2021-07-22T08:15:01.521184Z 0 [Warning] [MY-013746] [Server] A deprecated TLS version TLSv1.1 is enabled for channel mysql_main
2021-07-22T08:15:01.532797Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2021-07-22T08:15:01.533110Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2021-07-22T08:15:01.637686Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.26' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server - GPL.
2021-07-22T08:15:01.637776Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock
通过时间对比,发现日志时间与系统时间相差了 8 个小时。
2、修改日志时间戳
# 查看 mysql 配置,内容在 my.cnf(linux操作系统) 中,my.ini(windows操作系统)
# 查找配置文件(如果有不清楚路径的,可以查找一下)
find / -name my.cnf
# 输出 /etc/my.cnf
# 编辑文件,在文件中 log_timestamps=SYSTEM
vi /etc/my.cnf
3、重启 mysql 服务,再次查看日志
systemctl stop mysqld.service
systemctl start mysqld.service
tail -f /var/log/mysqld.log
日志时间戳已修改过来。