一、爲mysql服務器設置允許遠程連接
有些情況,我們需要讓測試服務器的本地數據庫能被外部訪問,方便本地數據庫可視化工具對其數據的管理。
但是,這也帶來了一些風險,若被黑客知道了你的服務器IP和數據庫賬號密碼,則可能被其攻擊,導致數據庫數據被清除,請務必謹慎開啓遠程連接。
第一、修改/etc/my.conf
默認情況下,mysql只允許本地登錄,如果要開啓遠程連接,則需要修改/etc/my.conf文件。
找到bind-address = 127.0.0.1這一行,將其註釋掉。# bind-address = 127.0.0.1
如果沒有這一行,則增加它:bind-address = 0.0.0.0
最後重啓mysql服務器:systemctl restart mysql
第二、爲用戶遠程連接mysql數據庫賦權限
1. 新建用戶admin,設置admin遠程連接mysql數據庫
mysql -u root -p
123456 //登錄成功後會跳出來 mysql>
create user admin identified by '123456'; //admin爲用戶名,123456爲密碼
grant all privileges on *.* to 'admin'@'%' identified by '123456' with grant option;
flush privileges;
%表示允許任何ip地址的計算機,用admin帳戶和密碼123456來訪問這個mysql server。
2、支持root用戶允許遠程連接mysql數據庫
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
二、爲mysql服務器設置最大連接數
進入MySQL用命令行修改,但是MySQL重啓後就失效了,需要重新設置。(不推薦)
命令如下:
1、show variables like ‘max_connections’;(查看當前最大連接數)
2、set global max_connections=1000;(設置最大連接數爲1000,可以再次執行上面的命令查看設置是否成功)
方法二:修改MySQL配置文件,永久生效(推薦)
1、進入/etc目錄,打開my.cnf文件;
2、查看max_connections=100的配置參數,修改爲max_connections=1000;如果沒有這個參數,直接添加max_connections=1000即可;
3、保存配置文件並退出,重啓MySQL服務即可,systemctl restart mysql
查看數據庫當前連接信息,
可以看到連接數據庫的進程id,ip,用戶名,連接的數據庫,連接狀態,連接時長等
命令:show full processlist;
三、解決中文亂碼
在/etc/my.cnf中增加以下三行
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8