centos7.4生產環境安裝mysql-8.0.11(源碼安裝)

在linux系統安裝軟件相對來說還是比較複雜的,而且在生產環境中,我們往往不會使用yum(apt-get)來安裝,也儘量不要使用rpm包的安裝,因為我們需要清除知道每一個軟件的文件,以便日後清除或者維護。我們做遊戲服務器時候,數據儲存或數據交換時候,最常用的是mysql和redis(免費,你懂的),他們穩定和高效得到廣泛使用。

mysql8.11安裝:

#查看系統環境

[root@ebs-64724 download]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@ebs-64724 download]# uname -a
Linux ebs-64724 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@ebs-64724 download]#

#下載mysql的tar包

centos7.4生產環境安裝mysql-8.0.11(源碼安裝)

centos7.4生產環境安裝mysql-8.0.11(源碼安裝)

得到mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz源碼安裝包。

#正式安裝

[root@ebs-64724 download]# ll
-rw-r--r-- 1 root root 185646832 Sep 8 2018 jdk-8u181-linux-x64.tar.gz
-rw-r--r-- 1 root root 603019898 May 6 2018 mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
-rw-r--r-- 1 root root 1016272 Apr 25 2018 nginx-1.14.0.tar.gz
-rw-r--r-- 1 root root 1729973 Mar 14 2018 redis-4.0.8.tar.gz
root@ebs-64724 download]# pwd
/root/download

創建mysql用戶和用戶組,並禁止登入

[root@ebs-64724 download]# groupadd mysql
[root@ebs-64724 download]# useradd -r -g mysql -s /sbin/nologin mysql
[root@ebs-64724 download]#
[root@ebs-64724 download]# cd /usr/local/
[root@ebs-64724 download]#

正式安裝mysql

 [root@ebs-64724 download]# tar zxvf /root/download/mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz(注意根據自己存放的tar包路徑響應改變)
[root@ebs-64724 download]# ln -s mysql-8.0.11-linux-glibc2.12-x86_64/ mysql(增加一個軟連接)
[root@ebs-64724 download]# cd mysql
[root@ebs-64724 download]# mkdir mysql-files
[root@ebs-64724 download]# chown -R mysql.mysql . (改變當前文件所有者,注意後面那個點)
[root@ebs-64724 download]# ./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data (無密碼安裝)
注意:這一步提示“./bin/mysqld:error while loading shared libraries:libaio.so.1:cannot open shared object file:No such file or directory"
就是少了一個依賴包:執行一下: yum install libaio (依賴使用yum安裝可以)
centos7.4生產環境安裝mysql-8.0.11(源碼安裝)

出現這個就害怕哈,正常打印而已

[root@ebs-64724 download]# cp -rf /etc/my.cnf /etc/my.cnf.old
[root@ebs-64724 download]# vim /etc/my.cnf (可以把這個清空,加上一下設置)
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

skip-grant-tables (這一行很重要)
[root@ebs-64724 download]#

啟動mysql 修改root密碼

[root@ebs-64724 download]# ./bin/mysqld_safe --user=mysql &
[root@ebs-64724 download]# ./bin/mysql -uroot -p (提示輸入密碼直接回車)
#mysql>use mysql;
#mysql>flush privileges;
#mysql>alter user 'root'@'localhost' identified by 'Abc!123D';
#mysql>exit;
[root@ebs-64724 download]# vim /etc/my.cnf (打開my.cnf 去掉‘skip-grant-tables’並修改默認端口,最大連接數據)
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=8889
back_log = 600
max_connections = 6000
max_connect_errors = 6000
[client]
port=8889
[root@ebs-64724 download]

這是啟動mysql

[root@ebs-64724 download] ./support-files/mysql.server start (注意啟動命令,根據方便是否加入自動啟動命令中)
[root@ebs-64724 download] vim ~/.bashrc (把mysql_client前臺命令加入到環境變量中)

export PATH=/usr/local/mysql/bin:$PATH

注意安全措施(血淋淋的前車之鑑,我以前mysql被攻破過)

改變mysql默認監聽端口,生產環境密碼必須複雜。啟動iptables

[root@ebs-64724 download]# iptables -I INPUT -j DROP -p tcp --dport 8889 
[root@ebs-64724 download]# iptables -I INPUT -j ACCEPT -p tcp --dport 8889 -s 127.0.0.1

最後感謝我們偉大的centos和mysql。

centos7.4生產環境安裝mysql-8.0.11(源碼安裝)


分享到:


相關文章: