由於某些原因,又要在ubuntu系統中安裝mysql了,之前曾經安裝過好多次。都沒記下來
以前一直動用源碼包來安裝,基於兩個原因:1.一直用Python寫代碼。2.想使用文件來安裝,而不是通過api
這次使用deb-bundle包
1.下載包:
下載地址為:
http://115.156.188.226/cdn.mysql.com//Downloads/MySQL-5.6/mysql-server_5.6.28-1ubuntu14.04_amd64.deb-bundle.tar
2.將包上傳至服務器,並將該文件解壓
解壓命令為:
tar –xvf mysql-server_5.6.28-1ubuntu14.04_amd64.deb-bundle.tar
解壓后得到一系列的.deb文件。依次為:
libmysqlclient18_5.6.28-1ubuntu14.04_amd64.deb libmysqlclient-dev_5.6.28-1ubuntu14.04_amd64.deb libmysqld-dev_5.6.28-1ubuntu14.04_amd64.deb mysql-client_5.6.28-1ubuntu14.04_amd64.deb mysql-common_5.6.28-1ubuntu14.04_amd64.deb mysql-community-bench_5.6.28-1ubuntu14.04_amd64.deb mysql-community-client_5.6.28-1ubuntu14.04_amd64.deb mysql-community-server_5.6.28-1ubuntu14.04_amd64.deb mysql-community-source_5.6.28-1ubuntu14.04_amd64.deb mysql-community-test_5.6.28-1ubuntu14.04_amd64.deb mysql-server_5.6.28-1ubuntu14.04_amd64.deb mysql-testsuite_5.6.28-1ubuntu14.04_amd64.deb
3.安裝文件
這里這些文件存在着依賴關系,如果一個一個安裝,要安裝順序來安裝:
sudo dpkg -i mysql-common_5.6.28-1ubuntu14.04_amd64.deb sudo dpkg -i libmysqlclient18_5.6.28-1ubuntu14.04_amd64.deb sudo dpkg -i libmysqlclient-dev_5.6.28-1ubuntu14.04_amd64.deb sudo dpkg -i libmysqld-dev_5.6.28-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-community-server_5.6.28-1ubuntu14.04_amd64.deb
注意在安裝mysql-community-server會要求輸入root賬戶密碼
sudo dpkg -i mysql-server_5.6.28-1ubuntu14.04_amd64.deb
到這里個人認為服務器應該可以使用了(未測試),但是mysql命令還不能使用
sudo dpkg -i mysql-community-client_5.6.28-1ubuntu14.04_amd64.deb sudo dpkg -i mysql-client_5.6.28-1ubuntu14.04_amd64.deb
到這里,mysql的安裝完成
還有幾個文件沒有用,用處現在不知道
mysql-community-bench_5.6.28-1ubuntu14.04_amd64.deb mysql-community-source_5.6.28-1ubuntu14.04_amd64.deb mysql-community-test_5.6.28-1ubuntu14.04_amd64.deb mysql-testsuite_5.6.28-1ubuntu14.04_amd64.deb
4.啟動和停止mysql服務命令
/etc/init.d/mysql start
/etc/init.d/mysql stop
5.mysql安裝之后,使用戶可以從其它地址可以訪問服務器
首先得修改/etc/mysql/my.cnf文件,將
bind-address = 127.0.0.1
修改為
bind-address = 0.0.0.0
然后得創建遠程訪問的用戶,並賦予其訪問權限
創建用戶並且賦予權限,實際上有好幾種方法。這里使用我個人最喜歡的方式,一部到位,需要進入到mysql之后執行命令
腳本如下:
GRANT <ALL|priv1,priv2,.....privn> ON [object] [IDENTIFIED BY 'password'] [WITH GRANT OPTION]; MAX_QUERIES_PER_HOUR count MAX_UPDATES_PER_HOUR count MAX_CONNECTIONS_PER_HOUR count MAX_USER_CONNECTIONS count
說明:priv代表權限select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14個權限
示例:
grant select,insert,update,delete,create,drop on test.hr to john@192.168.10.1 identified by '123';
表示為用戶john創建從地址192.168.10.1對數據庫test的hr表進行select,insert,update,delete,create,drop的權限,其密碼為123
grant select,insert,update,delete,create,drop on *.* to john@'%' identified by '123';
表示為用戶john創建從任何遠程地址對數據庫的所有庫和表進行select,insert,update,delete,create,drop的權限,其密碼為123
執行完后需要刷新權限:
flush privileges;