1、刪除centos系統(tǒng)自帶的mariadb數(shù)據(jù)庫(kù)防止發(fā)生沖突
rpm -qa|grep mariadb
rpm -e mariadb-libs --nodeps
2、安裝libaio庫(kù)
yum -y install libaio
3、下載并解壓mysql-5.7.25
cd /opt/
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
tar xzvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
4、查看是否有mysql用戶和mysql用戶組
cat /etc/passwd|grep mysql
cat /etc/group|grep mysql# 如果存在,則刪除用戶和用戶組userdel -r mysql
5、創(chuàng)建mysql用戶及其用戶組
groupadd mysql
useradd -r -g mysql mysql
6、設(shè)置mysql用戶為非登陸用戶
usermod -s /sbin/nologin mysql
7、創(chuàng)建basedir、datadir目錄、pid文件
mkdir /opt/mysql
mkdir /opt/mysql/data
mv mysql-5.7.25-linux-glibc2.12-x86_64/* /opt/mysql/
touch /opt/mysql/mysqld.pid
chown -R mysql:mysql /opt/mysql
8、創(chuàng)建日志
touch /var/log/mysqld.log
chown mysql:mysql /var/log/mysqld.log
9、創(chuàng)建socket文件
touch /tmp/mysql.sock
chown mysql:mysql /tmp/mysql.sock
10、創(chuàng)建配置文件vim /etc/my.cnf并加入如下內(nèi)容
[mysqld]
character-set-server=utf8
user=mysql
port=3306
basedir=/opt/mysql
datadir=/opt/mysql/data
socket=/tmp/mysql.sock
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/opt/mysql/mysqld.pid
[client]
port=3306
socket=/tmp/mysql.sock
11、安裝初始化
1 cd /opt/mysql/bin/
2 ./mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql
成功即為如下圖所示,記錄臨時(shí)密碼。

12、設(shè)置開機(jī)啟動(dòng)
復(fù)制啟動(dòng)腳本到資源目錄:
1 cp ../support-files/mysql.server /etc/rc.d/init.d/mysqld
增加mysqld控制腳本權(quán)限:
1 chmod +x /etc/rc.d/init.d/mysqld
將mysqld加入到系統(tǒng)服務(wù):
1chkconfig --add mysqld
檢查mysqld服務(wù)是否生效:
1chkconfig --list mysqld
命令輸出類似如下:

現(xiàn)在即可使用service命令控制mysql啟動(dòng)、停止。
PS:刪除啟動(dòng)命令:
1chkconfig --del mysqld
13、啟動(dòng)mysqld服務(wù)
1 service mysqld start
14、環(huán)境變量配置
編輯/etc/profile,加入如下內(nèi)容:
1 export PATH=$PATH:/opt/mysql/bin
執(zhí)行命令使其生效:
1 source /etc/profile
15、登錄mysql(使用隨機(jī)生成的那個(gè)密碼)
1 mysql -uroot -pitg1Srw5kD:?
修改root密碼:
1mysql> alter user "root"@"localhost" identified by "新密碼";
刷新權(quán)限:
1mysql> flush privileges;
退出mysql,使用新密碼登錄mysql。
16、添加遠(yuǎn)程登錄用戶
默認(rèn)只允許 root 帳戶在本地登錄mysql,如果要在其它機(jī)器上連接MySQL,必須修改 root 允許遠(yuǎn)程連接,或者添加一個(gè)允許遠(yuǎn)程連接的帳戶,為了安全起見,可以添加一個(gè)新的帳戶。
1mysql> grant all privileges on . to "用戶名"@"IP地址" identified by "密碼" with grant option;
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
17、開啟防火墻mysql3306端口的外部訪問
1 firewall-cmd --zone=public --add-port=3306/tcp --permanent
2 firewall-cmd --reload
參數(shù)說明:
--zone:作用域,網(wǎng)絡(luò)區(qū)域定義了網(wǎng)絡(luò)連接的可信等級(jí)。
--add-port:添加端口與通信協(xié)議,格式:端口/通信協(xié)議,協(xié)議為tcp或udp。
--permanent:永久生效,沒有此參數(shù)系統(tǒng)重啟后端口訪問失敗。