ubuntu下MySQL的安裝及遠端連線配置
1.命令視窗中輸入sudo apt-get install mysql-server mysql-client 即可(配置檔案位置:/etc/mysql/my.cnf
啟動檔案位置:/etc/init.d/mysql)
2.安裝期間會提示你輸入ROOT賬號的密碼。
3.安裝完成後,就可以利用命令mysql -u root -p來訪問資料庫了。
4.設定遠端連線訪問,安裝完成後,MySQL的配置檔案位於:/etc/mysql/my.cnf
5.vim /etc/mysql/my.cnf找到
bind-address = 127.0.0.1
這行,註釋掉(如下)
#bind-address = 127.0.0.1
或者改為
bind-address = 0.0.0.0
允許任意IP訪問,或者自己指定一個IP地址。
6.然後重啟 MySQL
sudo /etc/init.d/mysql restart
7.授權使用者能進行遠端連線
grant all privileges on *.* to [email protected]"%" identified by "password" with grant option;
flush privileges;
第一行命令解釋如下,*.*:第一個*代表資料庫名;第二個*代表表名。這裡的意思是所有資料庫裡的所有表都授權給使用者。
root:授予root賬號。
“%”:表示授權的使用者IP可以指定,這裡代表任意的IP地址都能訪問MySQL資料庫。
“password”:分配賬號對應的密碼。
8.通過mysql客戶端連線到遠端的MySQL資料庫
在自己本地mysql客戶端中輸入:
mysql -h ip -u root -p;
其中ip是你訪問資料庫所在伺服器的IP地址
9.亂碼修復
sudo gedit /etc/mysql/my.cnf
開啟之後在
[client]
default-character-set=utf8
注意:上面的中間default-character-set=utf8 程式碼是加入,不是修改,下面同理!
同樣還有一個地方!
[mysqld]
default-character-set=utf8
init_connect='SET NAMES utf8'
同樣這兩行程式碼是加入!
這個是儲存檔案!
執行:
停止資料庫服務:sudo /etc/init.d/mysql stop
重新啟動:sudo /etc/init.d/mysql start
進入資料庫:mysql -uroot -p(你的密碼)
檢視編碼:show variables like '%chara%';
create table user(
-> id int auto_increment,
-> name varchar(30),
-> primary key(id)
-> )default charset=utf8;
注意建表時,default charset=utf8這個設定不能少。
PS:今天遇到很奇怪的問題,遠端連線Mysql伺服器時,在本地客戶端利用命令列方式插入中文出現亂碼(我伺服器的編碼是utf8),把本地客戶端的編碼設定成gbk即可。