一、 清理环境
1. 查看系统是否安装了mysql数据库
rpm -qa | grep mysql
2. 查询到已安装的MySQL后,执行以下命令依次卸载(若没有查询到,则说明没有安装Mysql库,可直接跳过此步)
yum remove mysql-xxx-xxx
3. 删除MySQL的配置文件(MySQL卸载不会自动删除配置文件,需自行清理)
(1) 首先使用如下命令查找出所用的配置文件
find / -name mysql
(2)根据需求使用以下命令 依次 对配置文件进行删除
rm -rf /var/lib/mysql
4. 删除MariaDB的文件
由于 在CentOS中默认安装有MariaDB,所以如果我们不删除MariaDB文件的话,安装MySQL时可能会发生冲突。所以要删除MariaDB文件
(1)使用rpm 命令查找出要删除的mariadb文件
rpm -qa | grep mariadb
(2)可能出现结果:mariadb-libs-5.5.56-2.el7.x86_64,删除查询到的程序:
yum -y remove mariadb-libs.x86_64
二、安装 MySQL
1. 下载MySQL安装包
...
2. 解压MySQL安装包
tar xvJf mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz -C /usr/local/src
3. 重新命名文件夹为mysql
mv /usr/local/src/mysql-8.0.25-linux-glibc2.12-x86_64 /usr/local/src/mysql
4. 创建data文件夹
cd /usr/local/src/mysql
mkdir data
5. 创建用户组以及用户和密码
groupadd mysql
useradd -g mysql mysql
6. 授权用户
chown -R mysql.mysql /usr/local/src/mysql
7. 切换到bin目录下
cd /usr/local/src/mysql/bin
8. 初始化基础信息
./mysqld --user=mysql --basedir=/usr/local/src/mysql --datadir=/usr/local/src/mysql/data/ --initialize
出现以下信息便说明初始化成功:r>pQ>LMMf8d-
得到临时密码,保存下来,后面会用到
9. 编辑my.cnf文件
vim /etc/my.cnf
更改为以下内容:
[client]
default-character-set=utf8
[mysqld]
basedir=/usr/local/src/mysql
datadir=/usr/local/src/mysql/data
port=3306
socket=/tmp/mysql.sock
character-set-server=utf8
collation-server=utf8_general_ci
#必填项
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;