一、 清理环境

1. 查看系统是否安装了mysql数据库

  1. rpm -qa | grep mysql

2. 查询到已安装的MySQL后,执行以下命令依次卸载(若没有查询到,则说明没有安装Mysql库,可直接跳过此步)

  1. yum remove mysql-xxx-xxx

3. 删除MySQL的配置文件(MySQL卸载不会自动删除配置文件,需自行清理)

(1) 首先使用如下命令查找出所用的配置文件

  1. find / -name mysql

(2)根据需求使用以下命令 依次 对配置文件进行删除

  1. rm -rf /var/lib/mysql

4. 删除MariaDB的文件

由于 在CentOS中默认安装有MariaDB,所以如果我们不删除MariaDB文件的话,安装MySQL时可能会发生冲突。所以要删除MariaDB文件

(1)使用rpm 命令查找出要删除的mariadb文件

  1. rpm -qa | grep mariadb

(2)可能出现结果:mariadb-libs-5.5.56-2.el7.x86_64,删除查询到的程序:

  1. yum -y remove mariadb-libs.x86_64

二、安装 MySQL

1. 下载MySQL安装包

  1. ...

2. 解压MySQL安装包

  1. tar xvJf mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz -C /usr/local/src

3. 重新命名文件夹为mysql

  1. mv /usr/local/src/mysql-8.0.25-linux-glibc2.12-x86_64 /usr/local/src/mysql

4. 创建data文件夹

  1. cd /usr/local/src/mysql
  2. mkdir data

5. 创建用户组以及用户和密码

  1. groupadd mysql
  2. useradd -g mysql mysql

6. 授权用户

  1. chown -R mysql.mysql /usr/local/src/mysql

7. 切换到bin目录下

  1. cd /usr/local/src/mysql/bin

8. 初始化基础信息

  1. ./mysqld --user=mysql --basedir=/usr/local/src/mysql --datadir=/usr/local/src/mysql/data/ --initialize

出现以下信息便说明初始化成功:r>pQ>LMMf8d-
得到临时密码,保存下来,后面会用到

9. 编辑my.cnf文件

  1. vim /etc/my.cnf

更改为以下内容:

  1. [client]
  2. default-character-set=utf8
  3. [mysqld]
  4. basedir=/usr/local/src/mysql
  5. datadir=/usr/local/src/mysql/data
  6. port=3306
  7. socket=/tmp/mysql.sock
  8. character-set-server=utf8
  9. collation-server=utf8_general_ci
  10. #必填项
  11. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

注意:此处my.cnf文件不存在,需要复制 /mysql/support-files/my-default.cnf 文件。如果my-default.cnf文件也不存在,则创建一个

cd /usr/local/src/mysql/support-files
ls       #查看my-default.cnf是否存在
touch my-default.cnf       #如果存在则不需要执行这一步
chmod 777 my-default.cnf      #如果存在则不需要执行这一步
cp my-default.cnf /etc/my.cnf  #复制配置文件

10. 添加mysqld服务到系统

cp -a /usr/local/src/mysql/support-files/mysql.server /etc/init.d/mysql

11. 授权以及添加服务

chmod +x /etc/init.d/mysql
chkconfig --add mysql

12. 启动mysql

service mysql start

13. 查看启动状态

service mysql status

14. 将mysql命令添加到服务

ln -s /usr/local/src/mysql /usr/bin

15. 登录mysql 密码使用之前随机生成的密码

mysql -uroot -p

16. 修改root密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

17. 刷新数据库权限

flush privileges;

18. 修改远程连接并生效

use mysql;
update user set host='%' where user='root';
flush privileges;
exit;