當前位置:首頁 » 代理許可 » mysql遠程授權

mysql遠程授權

發布時間: 2020-11-23 09:11:01

A. mysql怎麼給用戶授權遠程連接

root用戶登錄,命令行運行 grant all privileges on *.* to '用戶名'@'%' identified by '登錄密碼';

B. mysql資料庫問題:mysql遠程訪問資料庫授權,sql語句怎麼提示有錯

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH
      GRANT OPTION;  

看你得sql裡面得單引號有問題把,應該是英文格式的,看你的是中文的

C. 如何給遠程主機開啟mysql遠程登錄許可權

基於安全考慮root賬戶一般只能本地訪問,但是在開發過程中可能需要打開root的遠程訪問許可權。下面是基本的步驟:
1、登錄到MySQL中,為root進行遠程訪問的授權,執行下面的命令:

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
mysql> flush privileges;

第一句中"%"表示任何主機都可以遠程登錄到該伺服器上訪問。如果要限制只有某台機器可以訪問,將其換成相應的IP即可,如:
GRANT ALL PRIVILEGES ON *.* TO root@"172.168.193.25" IDENTIFIED BY "root";
第二句表示從mysql資料庫的grant表中重新載入許可權數據。因為MySQL把許可權都放在了cache中,所以在做完更改後需要重新載入。

2、修改/etc/mysql/my.cnf,需要root用戶許可權。找到文件中的:

[ruby] view plain print?
bind-address = 127.0.0.1

將其注釋掉,保存。

3、重新啟動MySQL伺服器。執行下面的幾條命令即可:
# /usr/bin/mysqladmin -u root -p shutdown
# /usr/bin/mysqld_safe &

如果mysqladmin和mysql_safe不在/usr/bin目錄中,可以通過whereis命令查找,例如:
# whereis mysqladmin
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz

執行完上面的三步後,就可以通過遠程機器連接了資料庫了。

D. 如何讓mysql資料庫允許被遠程連接訪問

第一:更改 「mysql」 資料庫里的 「user」 表裡的 「host」 項,從」localhost」改稱'%'。
或者新加條記錄,「host」 項為要訪問的ip地址,並授權。重啟mysql服務。
第二:在系統防火牆添加例外埠:3306,並允許例外。

錯誤提示:
ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server
的解決方法:
1。改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫里的 "user" 表裡的 "host" 項,從"localhost"改稱"%"
1.mysql -u root -pvmware
mysql>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;

3.在window自帶的防火牆里的例外添加3306埠

總結:
mysql -u root -p
mysql>use mysql;
mysql>select 'host' from user where user='root';
mysql>update user set host = '%' where user ='root';
mysql>flush privileges;
mysql>select 'host' from user where user='root';
第一句是以許可權用戶root登錄
第二句:選擇mysql庫
第三句:查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱)
第四句:修改host值(以通配符%的內容增加主機/IP地址),當然也可以直接增加IP地址
第五句:刷新MySQL的系統許可權相關表
第六句:再重新查看user表時,有修改。。
重起mysql服務即可完成。

E. 如何關閉mysql遠程登錄許可權

1、本地登錄到mysql資料庫,mysql -uroot -p。

F. 如何配置mysql的root用戶允許遠程登錄

基於安全考慮root賬戶一般只能本地訪問,但是在開發過程中可能需要打開的遠程訪問許可權。下面是基本的步驟:
1、登錄到MySQL中,為root進行遠程訪問的授權,執行下面的命令:

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
mysql> flush privileges;

第一句中"%"表示任何主機都可以遠程登錄到該伺服器上訪問。如果要限制只有某台機器可以訪問,將其換成相應的IP即可,如:
GRANT ALL PRIVILEGES ON *.* TO root@"172.168.193.25" IDENTIFIED BY "root";
第二句表示從mysql資料庫的grant表中重新載入許可權數據。因為MySQL把許可權都放在了cache中,所以在做完更改後需要重新載入。

2、修改/etc/mysql/my.cnf,需要root用戶許可權。找到文件中的:

[ruby] view plain print?
bind-address = 127.0.0.1

將其注釋掉,保存。

3、重新啟動MySQL伺服器。執行下面的幾條命令即可:
# /usr/bin/mysqladmin -u root -p shutdown
# /usr/bin/mysqld_safe &

如果mysqladmin和mysql_safe不在/usr/bin目錄中,可以通過whereis命令查找,例如:
# whereis mysqladmin
mysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz

執行完上面的三步後,就可以通過遠程機器連接了資料庫了。

G. 如何開啟MySQL的遠程帳號

開啟 MySQL 的遠程登陸帳號有兩大步:
1、確定伺服器上的防火牆沒有阻止 3306 埠。
MySQL 默認的埠是 3306 ,需要確定防火牆沒有阻止 3306 埠,否則遠程是無法通過 3306 埠連接到 MySQL 的。
如果您在安裝 MySQL 時指定了其他埠,請在防火牆中開啟您指定的 MySQL 使用的埠號。
如果不知道怎樣設置您的伺服器上的防火牆,請向您的伺服器管理員咨詢。
2、增加允許遠程連接 MySQL 用戶並授權。
1)首先以 root 帳戶登陸 MySQL
在 Windows 主機中點擊開始菜單,運行,輸入「cmd」,進入控制台,MySQL 的 bin 目錄下,然後輸入下面的命令。
在 Linux 主機中在命令提示行下輸入下面的命令。
CODE: [COPY]
> MySQL -uroot -p123456
123456 為 root 用戶的密碼。
2)創建遠程登陸用戶並授權
CODE: [COPY]
> 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 為用戶的密碼。
執行了上面的語句後,再執行下面的語句,方可立即生效。
CODE: [COPY]
> flush privileges;

-----------------------------------------------------------------------------------------------------------------
解決方法:

1、改表法:

可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 「mysql」 資料庫里的 「user」 表裡的 「host」 項,從「localhost」改稱「%」

x:\>mysql -u root -pvmware
mysql> use mysql;
mysql> update user set host = 『%』 where user = 『root』;
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;

轉自:http://hi..com/593313600/blog/item/52c13d3d4640d208baa167cf.html/cmtid/df0698f382f04d5d352acce8

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

二、問如何開啟MySQL的遠程連接
Q:

最近學習PHP,裝了個phpwind論壇和FTP流量插件,需要遠程連接MySQL資料庫.不知道如何打開本地伺服器的遠程連接.現在本地伺服器上的論壇和FTP流量插件都運行正常,在另一台伺服器上安裝插件,連不上資料庫.到PW官方求助沒人回貼.因此來這尋求幫助.

伺服器信息
PHP程式版本: 4.3.11
MySQL 版本: 4.1.10-nt
伺服器端信息: Microsoft-IIS/5.0
裝有phpMyAdmin

A1:

遠程連接到MySQL需要做的

1. 進入MySQL,創建一個新用戶xuys:

格式: grant 許可權 on 資料庫名.表名 用戶@登錄主機 identified by "用戶密碼";
grant select,update,insert,delete on *.* to [email protected] identified by "xuys1234";

查看結果,執行:
use mysql;
select host,user,password from user;

可以看到在user表中已有剛才創建的xuys用戶,host欄位表示登錄的主機,其值可以用IP,也可用主機名,將host欄位的值改為%就表示在任何客戶端機器上能以xuys用戶登錄到MySQL伺服器,建議在開發時設為%.
update user set host = '%' where user = 'xuys';

2.
./mysqladmin -u root -p pwd reload
./mysqladmin -u root -p pwd shutdown

3.
./mysqld_safe --user=root &

記住: 對授權表的任何修改都需要重新reload,即執行第3步.

如果經過以上3個步驟還是無法從客戶端連接,請執行以下操作,在MySQL資料庫的db表中插入一條記錄:
use mysql;
insert into db values('192.168.88.234','%','xuys','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
update db set host = '%' where user = 'xuys';

重復執行上面的第2,3步.

A2:

Web與MySQL資料庫分離開來是一個不錯的選擇,避免因為大量的資料庫查詢佔用CPU而使Web資源不足,同時可以使Web伺服器的資源盡最大的提供瀏覽服務,而資料庫伺服器單獨的只處理資料庫事務.

我對這方面的原理不甚太十分了解,我的做法其實就是下面要說的,很簡單.大家有更好的經驗和技巧不妨提出來分享一下.

適用范圍: 擁有獨立主機許可權
硬體配置: 兩台伺服器,至於具體伺服器硬體配置就不在本文范圍內了
其中: A為Web伺服器(假設IP為: 192.192.192.192),B為MySQL數據伺服器(假設IP為: 168.168.168.168)

著手動作:
1. 在Web伺服器A配置好Web服務.關於這方面文章很多了.假設Web伺服器的IP為: 192.192.192.192
2. 在資料庫伺服器B安裝好MySQL服務
3. 現在新版的MySQL一般默認都不允許遠程連接的,需要建立遠程連接賬號才可以

以命令行方式使用root賬號進入MySQL
mysql -u root -p pass

選擇進入MySQL資料庫
use mysql;

查看所有存在的賬號和地址
SELECT `Host`,`User` FROM `user`;

比如我的就是:

+------------+-------+
| Host | User |
+------------+-------+
| localhost | |
| localhost | pma |
| localhost | root |
+------------+-------+
3 rows in set (0.00 sec)

也就是說,存在三個只允許本地連接的(localhost)賬號,分別為root,pma,空用戶.

現在決定讓root具有上面那個Web伺服器A的遠程鏈接的許可權,那麼就這樣:
UPDATE `user` SET `Host` = '192.192.192.192' WHERE `User` = 'root' LIMIT 1;

這樣192.192.192.192這台Web伺服器就可以遠程連接到這個資料庫伺服器了,假如你想讓任何遠程機器都可以連接這個資料庫,就將192.192.192.192換為%,不過不建議這樣做,原因你知道啦!

假如你想新建一個用戶new_user具備遠程鏈接的許可權的話,就這樣:
INSERT INTO `user` ( `Host` , `User` , `Password` , `Select_priv` , `Insert_priv` , `Update_priv` , `Delete_priv` , `Create_priv` , `Drop_priv` , `Reload_priv` , `Shutdown_priv` , `Process_priv` , `File_priv` , `Grant_priv` , `References_priv` , `Index_priv` , `Alter_priv` , `Show_db_priv` , `Super_priv` , `Create_tmp_table_priv` , `Lock_tables_priv` , `Execute_priv` , `Repl_slave_priv` , `Repl_client_priv` , `ssl_type` , `ssl_cipher` , `x509_issuer` , `x509_subject` , `max_questions` , `max_updates` , `max_connections` ) VALUES ('192.192.192.192', 'new_user', PASSWORD( 'new_user_password' ) , 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', '0', '0', '0');

將new_user改為你想要的名字就可以了,密碼是: new_user_password,當然你可以隨意設置.

當你的資料庫可以遠程連接後,你就可以在你的Web伺服器的論壇config.inc.php中設置$dbhost變數為你的MySQL資料庫伺服器B的IP了:
$dbhost = '168.168.168.168';

實際操作中,最好兩台機器在同一個機房的同一網段/防火牆內.當然如果有可能的話,將資料庫伺服器放置於Web伺服器網路內的區域網中就更好了.

Q3:

還是這樣簡潔些:
grant all on yourdb.* to yourUsername@yourHost identified by "yourPassword";
flush privileges; //使許可權立刻生效

H. mysql授權遠程訪問%為什麼root不行

為了遷移mysql到oracle,採用了oracle的sql developer工具,並下載了mysql

jdbc驅動(為了讓sql developer連接mysql)

為了從oracle sql developer遠程以root連接mysql

1
2
3

mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql>

在設置root賬戶密碼時,可以選擇是否允許其從遠程訪問。默認情況下是不允許的。

在命令行下,可以有兩種大同小異的方法來作此設置:

(1)

1
2
3

mysql>GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;

mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;

第一句增加了一個root用戶授權通過本地機(localhost)訪問,密碼逗something地。

第二句則是使用通配符,授與root用戶從任何其它主機發起的訪問。

(2)亦可直接使用update語句修改user表:使用root用戶或其他用戶登錄mysql,轉到mysql資料庫

1
2
3
4
5

update user set host='localhost' where user='root';
flush privileges;//只允許root在本機登錄

update user set host='%' where user='root';
flush privileges;//允許root遠程訪問

注意,以上一定要加flush語句。

另外,如果要建新用戶,則用grant語句比較方便,記住語句grant總是創建新用戶。

例如我目前的庫:
mysql> select host,user from user;
+-----------+--------+
| host | user |
+-----------+--------+
| % | mytest |
| % | root |
| localhost | mytest |
| localhost | root |
+-----------+--------+
4 rows in set (0.00 sec)

root和mytest都既能本地連,也能遠程連

I. MYSQL資料庫如何賦予遠程某個IP訪問許可權

1. 授權用戶root使用密碼jb51從任意主機連接到mysql伺服器:
代碼如下:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'jb51' WITH GRANT OPTION;
flush privileges;

2.授權用戶root使用密碼jb51從指定ip為版218.12.50.60的主機連接到mysql伺服器權:
代碼如下:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'218.12.50.60' IDENTIFIED BY 'jb51' WITH GRANT OPTION;
flush privileges;

J. mysql默認不支持遠程連接,需要grant授權。

請問你有root賬號嘛?
如果有的話,直接修改 mysql.user 這個表就可以了,要什麼許可權直接在裡面改,這個表也比較明了。
如果要用語句的話就可以
GRANT ALL PRIVILEGES ON *.* TO '資料庫名'@'%' IDENTIFIED BY '資料庫密碼' WITH GRANT OPTION; 類似這種

熱點內容
美發店認證 發布:2021-03-16 21:43:38 瀏覽:443
物業糾紛原因 發布:2021-03-16 21:42:46 瀏覽:474
全國著名不孕不育醫院 發布:2021-03-16 21:42:24 瀏覽:679
知名明星確診 發布:2021-03-16 21:42:04 瀏覽:14
ipad大專有用嗎 發布:2021-03-16 21:40:58 瀏覽:670
公務員協議班值得嗎 發布:2021-03-16 21:40:00 瀏覽:21
知名書店品牌 發布:2021-03-16 21:39:09 瀏覽:949
q雷授權碼在哪裡買 發布:2021-03-16 21:38:44 瀏覽:852
圖書天貓轉讓 發布:2021-03-16 21:38:26 瀏覽:707
寶寶水杯品牌 發布:2021-03-16 21:35:56 瀏覽:837