本文目錄一覽:
- 1、如何登錄遠程mysql
- 2、如何開啟遠程登陸mysql
- 3、如何配置mysql的root用戶允許遠程登錄?
- 4、mysqli怎麼連接遠程服務器
- 5、mysql怎麼開啟遠程登錄功能
- 6、通過命令行如何遠程訪問mysql?
如何登錄遠程mysql
首先讓我們看一下遠端MYSQL的用戶表
mysql select host,user
– from user;
+—————+——+
| host | user |
+—————+——+
| localhost | root |
+—————+——+
5 rows in set (0.00 sec)
由此我們可以看到root用戶僅允許本地(localhost)登錄,如果要遠程登錄該mysql服務器的話,就需要新建一個普通權限的用戶,新建用戶使用如下命令:
mysql grant select,update,insert,delete on mas.* to duan@localhost identified by “123456”;
這句命令的意思是:新建用戶duan,並且只允許該用戶在本地(localhost)登錄,密碼是123456,並且賦予它對mas庫中所有表select,update,insert的權限。我們在這有一個mas庫,所以用mas.*代表mas庫下的所有表。如果要對所有的表,包括mysql庫的表都有操作權限則可以替換成“*.*”.
現在該duan用戶,已經可以登錄mysql了,但是也還是只能本地登錄。若要duan用戶可以遠程登錄mysql,則還需要如下命令:
mysql update user set host = ‘%’ where user = ‘duan’;
如何開啟遠程登陸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;
如何配置mysql的root用戶允許遠程登錄?
基於安全考慮root賬戶一般只能本地訪問,但是在開發過程中可能需要打開root的遠程訪問權限。下面是基本的步驟:\x0d\x0a1、登錄到MySQL中,為root進行遠程訪問的授權,執行下面的命令:\x0d\x0a\x0d\x0amysql GRANT ALL PRIVILEGES ON *.* TO root@”%” IDENTIFIED BY “root”;\x0d\x0amysql flush privileges;\x0d\x0a\x0d\x0a第一句中”%”表示任何主機都可以遠程登錄到該服務器上訪問。如果要限制只有某台機器可以訪問,將其換成相應的IP即可,如:\x0d\x0aGRANT ALL PRIVILEGES ON *.* TO root@”172.168.193.25″ IDENTIFIED BY “root”;\x0d\x0a第二句表示從mysql數據庫的grant表中重新加載權限數據。因為MySQL把權限都放在了cache中,所以在做完更改後需要重新加載。\x0d\x0a\x0d\x0a2、修改/etc/mysql/my.cnf,需要root用戶權限。找到文件中的:\x0d\x0a\x0d\x0a[ruby] view plain copy print?\x0d\x0abind-address = 127.0.0.1 \x0d\x0a\x0d\x0a將其注釋掉,保存。\x0d\x0a\x0d\x0a3、重新啟動MySQL服務器。執行下面的幾條命令即可:\x0d\x0a# /usr/bin/mysqladmin -u root -p shutdown\x0d\x0a# /usr/bin/mysqld_safe \x0d\x0a\x0d\x0a如果mysqladmin和mysql_safe不在/usr/bin目錄中,可以通過whereis命令查找,例如:\x0d\x0a# whereis mysqladmin\x0d\x0amysqladmin: /usr/bin/mysqladmin /usr/share/man/man1/mysqladmin.1.gz\x0d\x0a\x0d\x0a執行完上面的三步後,就可以通過遠程機器連接了數據庫了。
mysqli怎麼連接遠程服務器
1、登陸服務器端,進入命令行,windows cmd;
2、設置用戶、密碼讓指定的IP訪問:mysql -u root -p 或安裝的快捷方式進入:MySQL Command Line Client,使用grant命令:
grant 權限1,權限2,…權限n on 數據庫名稱.表名稱 to 用戶名@用戶地址 identified by ‘連接口令’;
mysqlgrant all privileges on *.* to lzpddd@’%’ identified by ‘mypassword’;
給來自任何IP地址的用戶lzpddd分配可對所有數據庫的所有表進行所有操作的權限限,並設定口令為’mypassword’;
3、關閉服務器端防火牆或者開放3306端口(很重要);
4、客戶端連接:
進入命令行,windows cmd,連接:
mysql -u 用戶名 -p密碼 -h 服務器IP地址 -P 服務器端MySQL端口號 -D 數據庫名
mysql怎麼開啟遠程登錄功能
第一中方法:比較詳細
以下的文章主要介紹的是MySQL 數據庫開啟遠程連接的時機操作流程,其實開啟MySQL 數據庫遠程連接的實際操作步驟並不難,知識方法對錯而已,今天我們要向大家描述的是MySQL 數據庫開啟遠程連接的時機操作流程。
1、d:\MySQL\bin\MySQL -h localhost -u root
這樣應該可以進入MySQL服務器
複製代碼 代碼如下:
MySQLupdate user set host = ‘%’ where user = ‘root’;
MySQLselect host, user from user;
2、MySQLGRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION
予任何主機訪問數據的權限
3、MySQLFLUSH PRIVILEGES
修改生效
4、MySQLEXIT
退出MySQL服務器
這樣就可以在其它任何的主機上以root身份登錄啦!
以上的相關內容就是對MySQL 數據庫開啟遠程連接的介紹,望你能有所收穫。
第二種方法:
1、在控制台執行 mysql -u root -p mysql,系統提示輸入數據庫root用戶的密碼,輸入完成後即進入mysql控制台,這個命令的第一個mysql是執行命令,第二個mysql是系統數據名稱,不一樣的。
2、在mysql控制台執行 GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘MyPassword’ WITH GRANT OPTION;
3、在mysql控制台執行命令中的
‘root’@’%’ 可以這樣理解:
root是用戶名,%是主機名或IP地址,這裡的%代表任意主機或IP地址,你也可替換成任意其它用戶名或指定唯一的IP地址;’MyPassword’是給授權用戶指定的登錄數據庫的密碼;另外需要說明一點的是我這裡的都是授權所有權限,可以指定部分權限,GRANT具體操作詳情見:
4、不放心的話可以在mysql控制台執行 select host, user from user; 檢查一下用戶表裡的內容
通過命令行如何遠程訪問mysql?
1、登陸服務器端,進入命令行,windows cmd;
2、設置用戶、密碼讓指定的IP訪問:mysql -u root -p 或安裝的快捷方式進入:MySQL Command Line Client,使用grant命令:
grant 權限1,權限2,權限n on 數據庫名稱.表名稱 to 用戶名@用戶地址 identified by ‘連接口令’;例子:mysqlgrant select,insert,update,delete,create,drop on mydb.mytable to lzpddd@192.168.1.88 identified by ‘mypassword’;給來自192.168.1.88
的用戶lzpddd分配可對數據庫 mydb的mytable表進行select,insert,update,delete,create,drop等操作的權限,並設定口令為’mypassword’;
mysqlgrant all privileges on *.* to lzpddd@192.168.1.88 identified by ‘mypassword’;給來自192.168.1.88
的用戶lzpddd分配可對所有數據庫的所有表進行所有操作的權限限,並設定口令為’mypassword’;
mysqlgrant all privileges on *.* tolzpddd@’%’identified by ‘mypassword’;給來自任何IP地址的用戶lzpddd分配可對所有數據庫的所有表進行所有操作的權限限,並設定口令為’mypassword’;
3、關閉服務器端防火牆或者開放3306端口(很重要);
4、客戶端連接:
進入命令行,windows cmd,連接:
mysql -u 用戶名 -p密碼 -h服務器IP地址 -P服務器端MySQL端口號 -D 數據庫名注意:(1)服務器端口標誌-P一定要大些以區別於用戶-p,如果直接連接數據庫標誌-D也要大寫;
(2)如果要直接輸入密碼-p後面不能留有空格如-pmypassword;
(3)命令結束段沒有’;’分號。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/193292.html