首先在數據庫創建好連接的用戶
進入mysql服務器終端:
? ? ?命令窗口終端:
? ? ?mysql ?-u用戶名 -p密碼
sudo ?mysql -uroot -p
創建用戶部分-- 使用mysql 數據庫
USE mysql;
-- 為mysql創建用戶:root1 密碼為:root1? ? ? ? ? ? ? ? ? ?
CREATE USER root1 IDENTIFIED BY 'root1';
-- 查看下用戶root1的權限? ? ? ? ? ? ? ? ? ??
select Host,User from user;
-- 給用戶root1在數據庫名為root1上賦上所有庫權限,@'%'表示從任意ip都可以訪問到這個數據庫? ?創建時應該已經賦權了? ? ? ? ?
GRANT ALL ON *.* TO 'root1'@'%';
-- 生效
FLUSH PRIVILEGES;
-- 再次查詢 下權限
SELECT User,Host? FROM user ;
2.在終端打開防護墻端口
#允許所有傳出連接
?sudo ufw default allow outgoing??
- 開啟或禁用指定連接
?? #允許連接數據庫
??sudo ufw allow 3306
現在可以通過可視化窗口輸入賬號密碼連接了
?
------------------------------分割線用于MySQL57--------------------------------
默認情況下,mysql只允許本地登錄,
如果要開啟遠程連接,則需要進行以下操作:
1.需要修改/etc/mysql/mysql.conf.d/mysqld.cnf 文件。
?找到bind-address = 127.0.0.1這一行
??改為bind-address = 0.0.0.0即可或者用 ‘#’ 注釋此行
2.在連接服務器后,操作mysql系統數據庫
?????????????命令為: ?mysql -u root -p
??????????????????????????????use mysql;
**3. 查詢用戶表命令:select User,authentication_string,Host from user;?(這里也可以看出host默認都是localhost訪問權限)
4. 創建可以訪問的用戶名即密碼
?GRANT ALL PRIVILEGES ON *.* TO '賬號'@'%' IDENTIFIED BY '密碼';
%代表所有主機,也可以具體到你的主機ip地址 ??
注:用戶名處,填寫自己的用戶名, 密碼處,填寫自己訪問的密碼
創建完成后再次查詢用戶表:
5.刷新權限: ???flush privileges; ?????????
這一步一定要做,不然無法成功! 這句表示從mysql數據庫的grant表中重新加載權限數據
因為MySQL把權限都放在了cache中,所以在做完更改后需要重新加載。
執行完這兩步,再次查詢用戶表命令:select ?User,authentication_string,Host from user ?可以看到成功添加了用戶
6.重新啟動mysql服務
service mysql restart
?