此篇為http://www.cnblogs.com/EasonJim/p/7139275.html的分支頁。
安裝MySQL前需要做如下了解:
1、MySQL各類型版本的區別,參考:http://www.cnblogs.com/EasonJim/p/6274344.html
2、官方的下載地址一般指向最新的版本下載,如果要下載以前的版本,比如5.5.x的版本,有特殊入口,參考:http://www.cnblogs.com/EasonJim/p/7147134.html
3、隨着時間的推移,教程上可能會失效,但是最標准和最新的教程官方是提供的,入口請參考:http://www.cnblogs.com/EasonJim/p/7147198.html
安裝方式的選擇:
0、前提,無論是哪有安裝方式都必須對my.cnf文件有所了解,參考:http://www.cnblogs.com/EasonJim/p/7158466.html
1、在安裝之前需要注意,前面有篇文章http://www.cnblogs.com/EasonJim/p/6275863.html是講解Mac下安裝MySQL的,里面采用的安裝方式基於安裝包pkg,有安裝界面,安裝好之后在系統設置和命令行上自動配置了環境變量等。
2、對於Mac下安裝,我覺得越簡單越好,能用就行了,畢竟在Mac下不可能作為服務器使用,至於開機啟動和不啟動也沒關系,只要能做簡單的測試即可。命令行這些也無關緊要。還有就是很多時候在開發時都是連接公司的服務器來進行的。
3、而對於在Linux下安裝,如果為開發服務器,那么建議安裝deb版本,也就是安裝包的形式,或者是APT源進行安裝,安裝好之后自動配置了環境變量等。觀點就是能用就行,不需要太復雜的配置,比較很多時候在開發時都是連接公司的服務器來進行的。
4、如果對於服務器版本的Linux,建議是安裝tar.gz壓縮包版本的,這個安裝全部都是手動配置,包括啟動服務,環境變量等,因為可以給你一個很清晰的配置思路,至於安裝了什么,配置了什么,這些都可以一步了然的排查出來。當然,在Linux下deb還是tar.gz各有各的好處,畢竟這些都可以根據需要進行版本選擇。
5、通過安裝tar.gz壓縮包版本,也就是二進制包,能在同一台機器上安裝多個MySQL。
安裝步驟:
一、通過APT方式安裝
說明:此種方式完全參考官方提供的教程https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/。
注意:通過APT方式安裝的版本都是現在最新的版本,現在我安裝的是5.7.18。通過這種方式安裝好之后開機自啟動都已經配置好,和命令行上的環境變量,無需手動配置。
1、(可省略)下載官方提供的mysql-apt-config.deb包進行APT源設置,下載地址:https://dev.mysql.com/downloads/repo/apt/
不過我感覺這個配置沒什么作用,只不過可以配置可以安裝什么類型版本的MySQL,和一些常用工具等,這些都可以自己手動通過apt-get的方式進行安裝解決。
sudo dpkg -i mysql-apt-config_0.8.6-1_all.deb
運行之后會出現如下界面:
一般只需要默認,按方向鍵選擇OK回車即可。
完成后運行更新命令:
sudo apt-get update
說明:官方說通過這個工具這樣操作之后,安裝MySQL時就是按照上面選擇的來進行。
2、安裝
sudo apt-get install mysql-server
此時如果提示依賴不足,如下所示:
那么需要運行下面命令解決依賴問題
sudo apt-get install -f
安裝MySQL時會一並安裝如下所示的軟件:
完成后再次運行sudo apt-get install mysql-server。如果沒出現依賴問題,那么就不需要使用此命令。
3、安裝過程的操作:
安裝過程會提示輸入數據庫的登錄名和密碼,輸入即可,如下所示:
4、安裝后的操作:
說明:通過這種方式安裝好之后開機自啟動都已經配置好,和命令行上的環境變量,無需手動配置。
安裝好之后會創建如下目錄:
數據庫目錄:/var/lib/mysql/
配置文件:/usr/share/mysql(命令及配置文件) ,/etc/mysql(如:my.cnf)
相關命令:/usr/bin(mysqladmin mysqldump等命令) 和/usr/sbin
啟動腳本:/etc/init.d/mysql(啟動腳本文件mysql的目錄)
測試:
#服務啟動后端口查詢
sudo netstat -anp | grep mysql
#服務管理 #啟動 sudo service mysql start #停止 sudo service mysql stop #服務狀態 sudo service mysql status
#連接數據庫 mysql -h 127.0.0.1 -P 3306 -uroot -p123456 #-h為遠程IP,-P為端口號,-u為用戶名,-p為密碼
#測試SQL
show databases;
測試一切正常。
5、卸載
#首先使用以下命令刪除MySQL服務器: sudo apt-get remove mysql-server #然后,刪除隨MySQL服務器自動安裝的任何其他軟件: sudo apt-get autoremove #卸載其他組件: sudo apt-get remove <<package-name>> #查看從MySQL APT存儲庫安裝的軟件包列表: dpkg -l | grep mysql | grep ii
二、通過下載離線安裝包DEB Bundle進行安裝
說明:參考官方安裝文檔,參考:https://dev.mysql.com/doc/refman/5.7/en/linux-installation-debian.html
1、下載:
其實DEB Bundle類型就是離線deb安裝包,把所有軟件打包進去了。
登錄站點:https://dev.mysql.com/downloads/mysql/
選擇系統:
選擇版本,在最下方選擇16.04:
在列表上會有DEB Package的,這個其實就是deb文件,不過也是在線安裝的形式,所以文件很小,不建議選擇。
2、解壓
tar xvf mysql-server_5.7.18-1ubuntu16.04_amd64.deb-bundle.tar
解壓出來的文件如下:
3、安裝
說明:以下命令是官網提供的
#libaio 如果系統中尚未存在庫,則 可能需要安裝該庫: sudo apt-get install libaio1 #使用以下命令預配置MySQL服務器軟件包: sudo dpkg-preconfigure mysql-community-server_*.deb #提示:將被要求為root用戶提供您的MySQL安裝密碼。 #對於MySQL服務器的基本安裝,請安裝數據庫公用文件包,客戶端包,客戶端元包,服務器包和服務器元包(按此順序); 可以使用單個命令來執行此操作: #注意:下面這條命令不能直接運行,應該拆開來按中括號里面以逗號分開的順序進行安裝,比如: #sudo dpkg -i mysql-{common,community-client,client,community-server,server}_*.deb sudo dpkg -i mysql-common_*.deb sudo dpkg -i mysql-community-client_*.deb sudo dpkg -i mysql-client_*.deb sudo dpkg -i mysql-community-server_*.deb sudo dpkg -i mysql-server_*.deb #如果中途被dpkg警告未滿足的依賴關系 ,可以使用apt-get來修復它們,然后再運行中斷的命令 : sudo apt-get -f install
安裝完成后和第一種方式效果上是一致的。
三、通過tar.gz壓縮包進行安裝
以下教程官網已經提供,參考:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
說明:這種方式是需要進行后期處理,比如開機啟動服務,命令行環境變量,以及配置文件設置等。
1、下載:
站點:https://dev.mysql.com/downloads/mysql/
2、解壓
tar zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz sudo mv mysql-5.7.18-linux-glibc2.5-x86_64 /usr/local sudo ln -s /usr/local/mysql-5.7.18-linux-glibc2.5-x86_64/ /usr/local/mysql
3、安裝
由於MySQL運行需要libaio1庫,所以需要運行以下命令進行安裝:
sudo apt-get install libaio1
#添加用戶組 sudo groupadd mysql #添加用戶,這個用戶是不能登錄的 sudo useradd -r -g mysql -s /bin/false mysql #進入文件目錄,mysql是鏈接 cd /usr/local/mysql #新建文件夾 sudo mkdir mysql-files #修改文件夾的權限 sudo chmod 750 mysql-files sudo chown -R mysql . sudo chgrp -R mysql . #安裝初始化,注意:此部最后一行會有一個初始化密碼,用於root賬號的首次登錄 sudo bin/mysqld --initialize --user=mysql #生成證書 sudo bin/mysql_ssl_rsa_setup #把權限修改回來 sudo chown -R root . sudo chown -R mysql data mysql-files
4、啟動
#啟動在后台
sudo bin/mysqld_safe --user=mysql &
5、登錄測試並修改root密碼
/usr/local/mysql/bin/mysql -uroot -p
提示:密碼在安裝初始化時最后一行的信息,里面有括號和特殊字符。
#修改root密碼,每一個分號直接回車 mysql> SET PASSWORD = PASSWORD('新密碼'); mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; mysql> flush privileges;
#增加一個'root'@'%'賬號實現遠程登錄 mysql> grant all privileges on *.* to 'root'@'%' identified by '新密碼' with grant option;
6、配置服務自動啟動
#復制服務文件到/etc/init.d sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server
安裝sysv-rc-conf
sudo apt-get install sysv-rc-conf
啟動sysv-rc-conf
sudo sysv-rc-conf
按空格鍵出現X,然后按Q退出。重啟即可。
服務的相關操作命令:
#服務狀態 sudo service mysql.server status #服務啟動 sudo service mysql.server start #服務停止 sudo service mysql.server stop
7、配置環境變量
在~/.profile文件的最下方加入
export PATH=$PATH:/usr/local/mysql/bin
參考:
http://www.cnblogs.com/oldfish/p/5039772.html(基於deb包的安裝)
http://blog.csdn.net/lllliulin/article/details/51526569(基於APT源的安裝)
http://www.2cto.com/database/201401/273423.html(基於APT源的安裝)
https://my.oschina.net/ramboo/blog/725378(基於二進制包安裝多個MySQL)
http://blog.csdn.net/carry9148/article/details/52624990(基於二進制包安裝,有Shell腳本快速安裝)
http://www.jianshu.com/p/b600c3b28bd9(基於二進制包安裝)