分類:
版權聲明:本文為博主原創文章,未經博主允許不得轉載。
**
環境准備
操作系統:CentOS
軟件:MySQL-5.7.19
**
**
一、RPM 方式安裝
進入官方網站:https://www.mysql.com
注冊賬號
downloads
選擇mysql Community Edition (GPL)>>Community (GPL) Downloads >>MySQL Community Server (GPL)>>download
操作系統:Red Hat Enterprise & Oracle Linux
操作系統版本:Redhat 64
**
1、上傳Mysql rpm 包到linux服務器並解壓![]()
2、創建Mysql用戶和用戶組![]()
3、安裝Mysql![]()
發現出錯了,有兩個依賴包沒有安裝,因此需要安裝此依賴包,依賴包的為libaio和numactl,安裝即可
再次安裝服務端: 
說明:這里rpm如果不采用–nodeps必須將上面的四個包依次進行安裝,否則會提示依賴解決。
只安裝服務端,不安裝通用包和libs包
4、啟動Mysql並登錄到Mysql數據庫
說明:由於第一次啟動Mysql,並且如果沒有在/etc/my.cnf中添加參數skip-grant-tables參數的話,那么是無法登錄到Mysql數據庫的,這里有兩種解決三種解決方法:
第一種,mysql初次初始化后,在/var/log/mysqld.log中提供了一個可以用於登錄的臨時密碼,使用這個密碼,可以登錄到數據庫,如上圖
第二種,在/etc/my.cnf中添加skip-grant-tables參數,不過需要重新啟動數據庫才可以生效。
第三種,直接使用命令,/etc/init.d/mysqld –skip-grant-tables,然后重新打開一個窗口,如果不想重新打開一個窗口,那么在末尾添加一個
&
符號,讓其在后台運行。
5、初次使用修改密碼 
說明:在以前的版本中,Mysql對於密碼的修改,是在mysql庫中的user表中有一列為password列,但是從msyql 5.7版本開始,oracle對mysql搞了一點事情,它把原有的user表中的column password取消掉了,使用authentication_string來替代了,所以,現在如果使用update修改表user中的密碼必須使用update user set authentication_string=password(‘your_password’) where user=’user_name’ and host=’servcie_host_ip’;而不是原來的update user set password了,所以在這里Oracle做了一些改動。並且,mysql從5.6開始,開始強化密碼,要求密碼中必須使用至少有一個大寫字母和小寫字母,數字和特殊字符,並且長度不能少於8位,這在windows圖形界面安裝下非常明顯,但是在Linux下,我為了方便記憶,並沒有遵守Mysql的約定,所以請引起注意。
**
二、二進制安裝Mysql
**
進入官方網站:https://www.mysql.com
注冊賬號
downloads
選擇MySQL Community Edition (GPL)>>Community (GPL) Downloads >>MySQL Community Server (GPL)>>download
操作系統:Linux_Generic
操作系統版本:Linux_generic x86_64
1、上傳msyql二進制包致Linux服務器,並解壓到/usr/local目錄![]()
2、創建Mysql用戶和用戶組![]()
說明:-r 參數表示login -s 指定默認的shell
3、對/usr/local下的mysql解壓包做軟連接(相當於windows下的快捷方式)並授權![]()
4、執行mysql_install_db腳本並指定用戶
在這里有必要進行提前說明,在以前執行mysql_install_db都是在scripts目錄下,但是從Mysql 5.7.5開是,Oracle又搞了一些事情,把scripts拿掉了,直接把mysql_install_db放在bin目錄下了,並且從 mysqld –initialize這個腳本也是從5.7.6開始加上去的,現在的版本是5.7.19,說明這個腳本加入的時間並不是怎么長
注意,上面出錯了,第一個只是warning,說明並沒有錯,只是在這里警告說這樣執行mysql_install_db命令不是推薦的方式,給出的建議是使用mysqld –initialize 的方式
第二個的確是錯誤,說,必須要指定存放數據文件的目錄
首先解決第一個警告
OK!沒有問題,並且和 RPM一樣,最后生成了一個臨時密碼,這個密碼用來登陸Mysql,以便於對初始化的用戶名的密碼進行修改設置。
解決第二個錯誤,在這里依然使用mysql_install_db –user的方式,既然要求我們指定一個數據文件的目錄,那么我們給指定一個不就行了。
OK!都是一些警告,這只是測試環境,並不是生產環境,在生產環境中,為了保證數據庫宕機的可能性,一些參數必須要進行設置和指定,特別是性能和基准測試。
5、執行mysql_ssl_rsa_setup腳本進行進行密匙初始化
mysql_ssl_rsa_setup這個腳本也是從mysql 5.7.6以后加入的性特性,旨在增強安全加密連接
執行這個腳本后會生成采用RSA加密的三個文件,一個為客戶端連接加密安全文件,一個為服務端連接加密安全文件,還有一個為CA認證文件
6、修改目錄權限,並執行mysqld_safe腳本
可以在mysql_safe –user=msyql加一個
&
以便於在后台運行
7、拷貝配置文件並配置環境變量
8、執行自帶的mysql_secure_installation命令強化安全腳本,這個腳本將會刪除匿名用戶
鑒於時間限制就不上傳圖片了
也可以進行手動刪除
執行
**
三、源碼安裝
**
進入官方網站:https://www.mysql.com
注冊賬號
downloads
選擇MySQL Community Edition (GPL)>>Community (GPL) Downloads >>MySQL Community Server (GPL)>>download
操作系統:Source Code
操作系統版本:Generic_Linux
1、老套路,將源碼包上傳之Linux服務器![]()
說明:這里有兩個包,在5.7以后,必須要有boost這個包
2、安裝編譯環境所需要的包和一些依賴包
3、創建必要的目錄,並授權
4、執行編譯命令
執行結果中出現了
並且給出了解決方法
OK!完成。重新執行上面的命令
完成!
5、編譯安裝
后續步驟一樣,再不做說明,等的時間太長了,等不住了!
最后記:
在企業的生產環境中,追求的是穩定性,官方的二進制版本是經過了充分的驗證的,雖然使用源碼安裝會帶來性能方面的提升,但是編碼復雜,如果不清楚編譯的參數,依然推薦大家使用二進制的方式進行安裝。
完成於2017 07 28

