linux設置mysql遠程訪問許可權
⑴ linux 如何開啟Mysql遠程訪問許可權 允許遠程連接
1。 改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫里的 "user" 表裡的 "host" 項,從"localhost"改稱"%"
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
2. 授權法。例如,你想myuser使用mypassword從任何主機連接到mysql伺服器的話。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.3的主機連接到mysql伺服器,並使用mypassword作為密碼
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
我的mysql.user里root用戶的host果然是localhost,先用改表法給localhost改成「%」,還是不行,仍然報1130的錯 誤,又按「從任何主機連接到mysql伺服器」方法授權,還是報一樣的錯,最後給自己的ip授權之後,終於登錄上了。。。。
⑵ Linux下mysql允許遠程連接怎麼設置
您好!
1、首先,mysql設置遠程連接的方式是在linux中進入mysql
mysql -uroot -pxxxxx(該處為root密碼)
2、進入mysql後進行許可權授權
grant all privileges on *.* to root@'%' identified by "xxxxxx" with grant option;
flush privileges;
這樣就可以遠程連接mysql了,其中第二部中的xxxxxx為密碼您可以自行修改。
⑶ Linux下mysql允許遠程連接怎麼設置
這個問題分兩部分:
1、需要系統本身開通資料庫對應的埠,mysql應該是
3306(或者直接關閉防火牆);
2、mysql開通連接許可權:
1:首次安裝的mysql應該是沒有密碼,使用:
mysql
-u
root
-p
回車,直接進入到mysql>頁面;
2:開通需要對外連接的帳號許可權:
1、update
mysql.user
set
password=PASSWORD('123456')
where
User='root';
(修改root密碼為123456)
2、grant
all
privileges
on
*.*
to
root@'%'
identified
by
'123456';
(授權root對外開放連接,密碼為123456)
3、flush
privileges;
(使以上操作生效)
4、quit
(退出)
然後在外部就可以嘗試連接
⑷ Linux下mysql允許遠程連接怎麼設置
mysql資料庫遠程訪問設置方法
1、修改localhost
更改 "mysql" 資料庫里的 "user" 表裡的 "host" 項,從"localhost"改成"%"
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;
2、指定授權
使用myuser/mypassword從任何主機連接到mysql伺服器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
使用myuser/mypassword從ip為192.168.225.166的主機連接到mysql伺服器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.225.166' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
3、泛授權
mysql -h localhost -u root
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; //賦予任何主機上以root身份訪問數據的許可權
mysql>FLUSH PRIVILEGES;
⑸ linux下mysql允許外部遠程訪問配置
mysql遠程訪問我們在網上看到最多的就是直接給mysql資料庫授權了,但有一些朋友發現按此教程還是無法連接mysql了,下文小編為各位詳細介紹一篇在linux下mysql允許外部遠程訪問配置
設置mysql
的配置文件
/etc/mysql/my.cnf
找到
bind-address
=127.0.0.1
將其注釋掉;//作用是使得不再只允許本地訪問;
重啟mysql:/etc/init.d/mysql
restart;
進入mysql
資料庫
mysql
-u
root
-p
mysql>grant
all
privileges
on
*.*
to
root@'%'
identifies
by
'
xxxx';
其中
第一個*表示資料庫名;第二個*表示該資料庫的表名;如果像上面那樣
*.*的話表示所有到資料庫下到所有表都允許訪問;
『%』:表示允許訪問到mysql的ip地址;當然你也可以配置為具體到ip名稱;%表示所有ip均可以訪問;
後面到『xxxx』為root
用戶的password;
⑹ Linux下mysql允許遠程連接怎麼設置
本地計算機ip:192.168.1.100
遠程計算機ip:192.168.1.244
遠程計算機打開 mysql 伺服器:#/etc/init.d/mysql.server start
本地計算機連接遠程 mysql伺服器:./mysql -h "192.168.1.244" -u root -p
發生以下錯誤:
ERROR 1130 (HY000): Host '192.168.1.100' is not allowed to connect to this MySQL server
出現這種情況是因為mysql伺服器出於安全考慮,默認只允許本地登錄資料庫伺服器。
解決方法:
1,遠程計算機(ip:192.168.1.244)執行如下:
開啟伺服器:/etc/init.d/mysql.server start
登陸伺服器:bin/mysql -u root -p
使用伺服器:mysql> use mysql
創建遠程登陸用戶並授權 :
mysql> grant all PRIVILEGES on test.* to andy@'192.168.1.100' identified by '123456';
上面的語句表示將 test 資料庫的所有許可權授權給 andy 這個用戶,允許 andy 用戶在 192.168.1.100這個 IP 進行遠程登陸,並設置 andy 用戶的密碼為 123456 。
下面逐一分析所有的參數:
all PRIVILEGES 表示賦予所有的許可權給指定用戶,這里也可以替換為賦予某一具體的許可權,例如:select,insert,update,delete,create,drop 等,具體許可權間用「,」半形逗號分隔。
test.* 表示上面的許可權是針對於哪個表的,test 指的是資料庫,後面的 * 表示對於所有的表,由此可以推理出:對於全部資料庫的全部表授權為「*.*」,對於某一資料庫的全部表授權為「資料庫名.*」,對於某一資料庫的某一表授權為「資料庫名.表名」。
andy 表示你要給哪個用戶授權,這個用戶可以是存在的用戶,也可以是不存在的用戶。
192.168.1.100 表示允許遠程連接的 IP 地址,如果想不限制鏈接的 IP 則設置為「%」即可。
123456 為用戶的密碼。
執行了上面的語句後,再執行下面的語句,方可立即生效。
> flush privileges;
2,本地計算機(ip:192.168.1.100):
執行如下:./mysql -h 192.168.1.244 -u andy -p 123456
顯示如下:
⑺ Linux下mysql允許遠程連接怎麼設置
首先我們修改下配置文件(一般在/etc/mysql/my.cnf),將裡面的bind-address = 127.0.0.1使用#給注釋掉
這樣就可以通過網路訪問我們的mysql了,當然這並不是全部
port = 3306
這里我想不用說了,設置偵聽埠,默認3306,想改的話只要將3306替換為其它就行
然後我們需要創建一個可以遠程連接的用戶以及給予相應許可權
我們使用root登陸mysql
mysql -u root -p
grant all on *.* to 『test』@』%』 identified by 『1234』 with grant option;
all表示所有許可權
*.*表示所有的資料庫,如果只想給該用戶操作某個指定的資料庫的話比如test可以寫成
grant all on test.* to 『test』@』%』 identified by 『1234』 with grant option;
『test』@』%』 是的test是可以通過遠程登陸的用戶名,%是個通配符,表示可以從任意地方登陸,但這里有個問題,我發現這么做了後本地localhost登陸的時候無法登陸,方法是建立一個同樣的用戶,將%改為localhost
1234是登陸密碼,如果想不設置密碼identified by 『1234』可不寫
with grant option 表示test用戶可以將自己創建的資料庫給予其它人許可權
我們再更新下許可權
flush privileges;
現在就可以通過遠程來連接我們的資料庫了
當然最後別忘了將防火牆設置成mysql綁定的埠可訪問,不然是會被防火牆屏蔽的哦
⑻ Linux下mysql允許遠程連接怎麼設置
使用「Ctrl + R」組合鍵快速打開cmd窗口,並輸入「cmd」命令,打開cmd窗口。
使用「mysql -uroot -proot」命令可以連接到本地的mysql服務。
使用「use mysql」命令,選擇要使用的資料庫,修改遠程連接的基本信息,保存在mysql資料庫中,因此使用mysql資料庫。
使用「GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;」命令可以更改遠程連接的設置。
使用「flush privileges;」命令刷新剛才修改的許可權,使其生效。
使用「select host,user from user;」查看修改是否成功。