1.查看并卸載預(yù)裝MariaDB
由于CentOS7默認(rèn)預(yù)裝MariaDB,分別執(zhí)行如下命令,將其卸載
#查看系統(tǒng)自帶的mariadb
rpm -qa|grep mariadb
#卸載自帶的mariadb
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
#刪除etc目錄下的my.cnf
rm /etc/my.cnf

2.檢查mysql是否存在
rpm -qa | grep mysql
3.查看和創(chuàng)建mysql用戶和組
出于安全原因,在系統(tǒng)中創(chuàng)建一個(gè)mysql用戶和用戶組,依次執(zhí)行如下命令,并設(shè)置好mysql用戶的密碼即可。
# 檢查mysql組和用戶是否存在,如無(wú)則創(chuàng)建
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
#創(chuàng)建mysql用戶組
# 創(chuàng)建mysql用戶組
groupadd mysql
# 創(chuàng)建一個(gè)用戶名為mysql的用戶,并加入mysql用戶組
useradd -g mysql mysql
# 制定password 為111111,輸入New password ,重復(fù)retype new password
passwd mysql

4.下載安裝包并解壓
前往mysql官網(wǎng)下載對(duì)應(yīng)的Linux安裝包mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz,上傳至服務(wù)器/home目錄下,并執(zhí)行如下命令,完成解壓操作
cd /usr/local
# 解壓縮
tar -zxvf /home/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
# 文件夾重命名
mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql
5.更改所屬的組和用戶
chown -R mysql mysql/
chgrp -R mysql mysql/
cd mysql/
mkdir data
chown -R mysql:mysql data
6.在/etc創(chuàng)建my.cnf文件
# 進(jìn)入/etc文件夾下
cd /etc
# 創(chuàng)建my.cnf文件
touch my.cnf
# 編輯my.cnf
vim my.cnf
在my.cnf添加如下內(nèi)容
[mysql]
# 設(shè)置mysql客戶端默認(rèn)字符集
default-character-set=utf8
[mysqld]
# 設(shè)置3306端口
port = 3306
# 設(shè)置mysql的安裝目錄
basedir=/usr/local/mysql
# 設(shè)置mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)的存放目錄
datadir=/usr/local/mysql/data
# 允許最大連接數(shù)
max_connections=200
# 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集
character-set-server=utf8
# 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
可以通過(guò)cat /etc/my.cnf查看文檔的內(nèi)容
7.執(zhí)行安裝
# 進(jìn)入mysql
cd /usr/local/mysql/
# 安裝mysql
bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

如果出現(xiàn)如下提示:
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解決辦法:執(zhí)行如下命令安裝對(duì)應(yīng)軟件包即可
yum install -y libaio //安裝后在初始化就OK了
安裝mysql出現(xiàn)了3個(gè)warning信息。修改系統(tǒng)的max_open_files限制即可
解決辦法:編輯/etc/security/limits.conf ,最后面增加兩行
* hard nofile 65535
* soft nofile 65535
8.編寫啟動(dòng)腳本
cp ./support-files/mysql.server /etc/init.d/mysqld
chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysqld
9.啟動(dòng)mysql
/etc/init.d/mysqld restart

如果出現(xiàn)錯(cuò)誤提示:MySQL manager or server PID file could not be found! [FAILED]
解決辦法:殺死相關(guān)進(jìn)程,重啟mysql
# 1、查看進(jìn)程
ps aux|grep mysql
# 2、殺死進(jìn)程(以實(shí)際查詢出來(lái)的進(jìn)程號(hào)為準(zhǔn))
kill -9 10031
kill -9 10220
# 3、重啟mysql
/etc/init.d/mysqld restart
10.設(shè)置開(kāi)機(jī)啟動(dòng)
chkconfig --level 35 mysqld on
chkconfig --list mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld
service mysqld status

11.修改配置文件
vim /etc/profile
添加如下內(nèi)容
#SET MYSQL ENVIRONMENT
export PATH=$PATH:/usr/local/mysql/bin

使配置文件生效
source /etc/profile
12.獲取mysql初始密碼
cat /root/.mysql_secret

13.修改密碼
mysql -uroot -p
set PASSWORD = PASSWORD('root');
flush privileges;

14.添加遠(yuǎn)程訪問(wèn)權(quán)限
use mysql;
select host,user,authentication_string from mysql.user;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
create user 'test'@'localhost' identified by 'Test_2020!@#';
create user 'test'@'%' identified by 'Test_2020!@#';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY 'Test_2020!@#' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'test'@'localhost' IDENTIFIED BY 'Test_2020!@#' WITH GRANT OPTION;
FLUSH PRIVILEGES;

15.重啟mysql
/etc/init.d/mysqld restart
