1、環(huán)境準(zhǔn)備
Centos6.0及以上版本(64bit)
2、安裝包下載
首先登錄官網(wǎng),下載二進(jìn)制版本,步驟如下:
進(jìn)入www.mysql .com 。
單擊頂部菜單的downloads。
單擊MySQL Community (GPL) Downloads ?。
單擊MySQL Community Server。
如果要下載以前的版本,單擊Looking for previous GA versions
選擇相應(yīng)的平臺、版本,比如選擇64位Linux平臺下的MySQL二進(jìn)制包:mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz,如下圖。

附MySQL所有版本的下載地址:https://downloads.mysql.com/archives/community/
3、卸載操作系統(tǒng)自帶MySQL
Centos6.8一般默認(rèn)預(yù)先安裝了MySQL5.1,需要進(jìn)行卸載,步驟如下:
# 第一步,執(zhí)行命令查看已經(jīng)安裝的mysql
rpm -qa|grep -i mysql
rpm -e --nodeps (mysql版本號,就是上面檢查到的版本號)
# 第二步,執(zhí)行命令卸載所有mysql軟件包
yum -y remove mysql*
# 第三步,執(zhí)行命令查找mysql的相關(guān)安裝目錄(安裝包和安裝目錄是分開卸載的)
find / -name mysql
/etc/selinux/targeted/active/modules/100/mysql
/usr/lib64/mysql
/usr/share/mysql
# 第四步,通過rm -rf xxx命令將上述查詢到的目錄依次刪除
rm -rf /etc/selinux/targeted/active/modules/100/mysql
rm -rf /usr/lib64/mysql
rm -rf /usr/share/mysql
# 第五步,刪除mysql配置文件
rm -rf /etc/my.cnf
# 第六步,刪除mysql默認(rèn)密碼
rm -rf /root/.mysql_history
rm -rf /root/mysql_secret
# 至此已徹底卸載mysql
4、安裝
#第一步 建立/opt/software目錄
mkdir /opt/software
# 第二步,上傳壓縮包到/opt/software目錄
# 第三步,進(jìn)入/usr/local目錄,將壓縮包解壓在這里并更改文件夾名為mysql
cd /usr/local
tar zxvf /opt/software/mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.40-linux-glibc2.12-x86_64 mysql
# 第四步 創(chuàng)建一個mysql用戶 -s表示這個用戶不登陸,-M 沒有家目錄
useradd mysql -s /sbin/nologin -M
mkdir -p /home/mysql/data # 數(shù)據(jù)目錄
mkdir -p /home/mysql/socket # 用于存放mysql.sock
chown -R mysql:mysql /home/mysql/data/
chown -R mysql:mysql /home/mysql/socket/
# 第五步 .修改mysql目錄屬主和屬組
chown -R mysql /usr/local/mysql
chgrp -R mysql /usr/local/mysql
# 第六步 安裝依賴包
yum -y install libaio
5、編輯配置文件/etc/my.cnf
編輯配置文件/etc/my.cnf,內(nèi)容如下:
[mysql]
default-character-set=utf8
[mysqld]
port = 13506
basedir=/usr/local/mysql/
datadir=/home/mysql/data/
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
log-bin=mysql-bin
binlog_format=mixed
server-id=161
slow_query_log=1
long_query_time=0.5
secure-file-priv=""
relay_log = /home/mysql/data/mysql-relay-bin
log_slave_updates = 1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
socket=/home/mysql/socket/mysql.sock
innodb_undo_directory=/home/mysql/data/
innodb_undo_logs=1024
innodb_undo_tablespaces=4
innodb_undo_log_truncate=1
show_compatibility_56=1
[client]
default-character-set = utf8
user=root
password='000000'
socket=/home/mysql/socket/mysql.sock
6、將mysql配置為系統(tǒng)服務(wù),并設(shè)置開機(jī)自啟動
1.把mysqld添加至systemctl進(jìn)行管理
# 復(fù)制過去后,sytemctl會自動識別的
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld.server
2.添加執(zhí)行權(quán)限
chmod +x /etc/rc.d/init.d/mysqld.server
3.把mysql的bin目錄添加至環(huán)境變量
# mysql客戶端要連接時候方便
echo "PATH=/usr/local/mysql/bin/:$PATH" >> /etc/profile
# 讓修改的文件不重啟生效
source /etc/profile
4.把mysqld.server添加至chkconfig下,并設(shè)置開啟自啟動
chkconfig --add mysqld.server
chkconfig mysqld.server on
7、初始化數(shù)據(jù)庫,修改root密碼,對root授權(quán)
1.初始化數(shù)據(jù)庫,打開SSL
mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/home/mysql/data/
mysql_ssl_rsa_setup
2.啟動數(shù)據(jù)庫
# 需要跳過授權(quán)表,啟動數(shù)據(jù)庫,因為mysql默認(rèn)會設(shè)置一個隨機(jī)密碼
/etc/init.d/mysqld.server start --skip-grant-tables
3.修改連接數(shù)據(jù)庫的root密碼
#5.7版本中mysql.user表下authentication_string字段存儲的用戶登陸密碼
mysql -uroot # 直接可進(jìn)入數(shù)據(jù)庫
update mysql.user set authentication_string=password('000000') where user='root' and host='localhost';
flush privileges;
4.停止當(dāng)前的MySQL,正常啟動即可
/etc/init.d/mysqld.server stop
/etc/init.d/mysqld.server star
5.授權(quán)root用戶可以從任何主機(jī)連接到MySQL服務(wù)器
mysql> ALTER USER USER() IDENTIFIED BY 'XXXXXX';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '000000' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
8、總結(jié)
MySQL5.7在Centos6上的安裝主要分為下載、卸載操作系統(tǒng)自帶版本、創(chuàng)建用戶和目錄、安裝依賴包、解壓縮安裝包、配置my.cnf、初始化數(shù)據(jù)庫、修改root密碼,如果需要可以設(shè)置MySQL為系統(tǒng)服務(wù)并自啟動。
一些其他MySQL的分支,提供了更高的性能和更多的特性,如Percona Server、MariaDB等,它們的二進(jìn)制版本安裝類似于官方版本,讀者可參考對應(yīng)分支的安裝文檔進(jìn)行部署安裝。注意,安裝前一定要仔細(xì)閱讀它們的安裝文檔。