1、刪除centos系統自帶的mariadb數據庫防止發生沖突
rpm -qa|grep mariadb rpm -e mariadb-libs --nodeps
2、安裝libaio
庫
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、創建mysql用戶及其用戶組
groupadd mysql useradd -r -g mysql mysql
6、設置mysql用戶為非登陸用戶
usermod -s /sbin/nologin mysql
7、創建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、創建日志
touch /var/log/mysqld.log chown mysql:mysql /var/log/mysqld.log
9、創建socket文件
touch /tmp/mysql.sock chown mysql:mysql /tmp/mysql.sock
10、創建配置文件vim /etc/my.cnf並加入如下內容
[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、安裝初始化
cd /opt/mysql/bin/ ./mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql
成功即為如下圖所示,記錄臨時密碼。
12、設置開機啟動
復制啟動腳本到資源目錄:
cp ../support-files/mysql.server /etc/rc.d/init.d/mysqld
增加mysqld控制腳本權限:
chmod +x /etc/rc.d/init.d/mysqld
將mysqld加入到系統服務:
chkconfig --add mysqld
檢查mysqld服務是否生效:
chkconfig --list mysqld
命令輸出類似如下:
現在即可使用service命令控制mysql啟動、停止。
PS:刪除啟動命令:
chkconfig --del mysqld
13、啟動mysqld服務
service mysqld start
14、環境變量配置
編輯/etc/profile,加入如下內容:
export PATH=$PATH:/opt/mysql/bin
執行命令使其生效:
source /etc/profile
15、登錄mysql(使用隨機生成的那個密碼)
mysql -uroot -pitg1Srw5kD:?
修改root密碼:
mysql> alter user "root"@"localhost" identified by "新密碼";
刷新權限:
mysql> flush privileges;
退出mysql,使用新密碼登錄mysql。
16、添加遠程登錄用戶
默認只允許 root 帳戶在本地登錄mysql,如果要在其它機器上連接MySQL,必須修改 root 允許遠程連接,或者添加一個允許遠程連接的帳戶,為了安全起見,可以添加一個新的帳戶。
mysql> grant all privileges on *.* to "用戶名"@"IP地址" identified by "密碼" with grant option;
17、開啟防火牆mysql3306端口的外部訪問
firewall-cmd --zone=public --add-port=3306/tcp --permanent firewall-cmd --reload
參數說明:
- --zone:作用域,網絡區域定義了網絡連接的可信等級。
- --add-port:添加端口與通信協議,格式:端口/通信協議,協議為tcp或udp。
- --permanent:永久生效,沒有此參數系統重啟后端口訪問失敗。