mysql 授权远程连接_MySQL远程访问授权
開啟 MySQL 的遠程登陸帳號有兩大步:
1、確定服務器上的防火墻沒有阻止 3306 端口。
MySQL 默認的端口是 3306 ,需要確定防火墻沒有阻止 3306 端口,否則遠程是無法通過 3306 端口連接到 MySQL 的。
如果您在安裝 MySQL 時指定了其他端口,請在防火墻中開啟您指定的 MySQL 使用的端口號。
如果不知道怎樣設置您的服務器上的防火墻,請向您的服務器管理員咨詢。
2、增加允許遠程連接 MySQL 用戶并授權。
1)首先以 root 帳戶登陸 MySQL
在 Windows 主機中點擊開始菜單,運行,輸入“cmd”,進入控制臺,MySQL 的 bin 目錄下,然后輸入下面的命令。
在 Linux 主機中在命令提示行下輸入下面的命令。
>?MySQL?-uroot?-p123456
123456 為 root 用戶的密碼。
2)創建遠程登陸用戶并授權
>?grant?all?PRIVILEGES?on?discuz.*?to?ted@'123.123.123.123'?identified?by?'123456';
上面的語句表示將 discuz 數據庫的所有權限授權給 ted 這個用戶,允許 ted 用戶在 123.123.123.123 這個 IP 進行遠程登陸,并設置 ted 用戶的密碼為 123456 。
下面逐一分析所有的參數:
all PRIVILEGES 表示賦予所有的權限給指定用戶,這里也可以替換為賦予某一具體的權限,例如:select,insert,update,delete,create,drop 等,具體權限間用“,”半角逗號分隔。
discuz.* 表示上面的權限是針對于哪個表的,discuz 指的是數據庫,后面的 * 表示對于所有的表,由此可以推理出:對于全部數據庫的全部表授權為“*.*”,對于某一數據庫的全部表授權為“數據庫名.*”,對于某一數據庫的某一表授 權為“數據庫名.表名”。
ted 表示你要給哪個用戶授權,這個用戶可以是存在的用戶,也可以是不存在的用戶。
123.123.123.123 表示允許遠程連接的 IP 地址,如果想不限制鏈接的 IP 則設置為“%”即可。
123456 為用戶的密碼。
執行了上面的語句后,再執行下面的語句,方可立即生效。
解決方法:
1、改表法:
可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql后,更改?“mysql”?數據庫里的?“user”?表里的?“host”項,從“localhost”改稱“%”
x:\>mysql -u root -pvmware
mysql> use mysql;
mysql> update user set host = ‘%’ where user = ‘root’?and host=’localhost’; #如果不帶and host=’localhost’會報錯,ERROR 1062 (23000): Duplicate entry ‘%-root’ for key ‘PRIMARY’
mysql> select host, user from user;
mysql>?flush privileges;
注:mysql> flush privileges;?使修改生效。
2、授權法:
例如,你想myuser使用mypassword從任何主機連接到mysql服務器的話。
mysql> GRANT ALL PRIVILEGES ON *.* TO?'myuser'@'%'?IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.3的主機連接到mysql服務器,并使用mypassword作為密碼
mysql> GRANT ALL PRIVILEGES ON *.* TO?'myuser'@'192.168.1.3'?IDENTIFIED BY 'mypassword’ WITH GRANT OPTION;
總結
以上是生活随笔為你收集整理的mysql 授权远程连接_MySQL远程访问授权的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 分享好用的Mac系统的FTP工具和SHE
- 下一篇: 第四周JAVA作业
