mysql開啟遠程連接數據庫

本文目錄一覽:

如何遠程訪問MySQL數據庫詳解

默認情況下,mysql只允許本地登錄,如果要開啟遠程連接,則需要修改/etc/mysql/my.conf文件。

一、修改/etc/mysql/my.conf

找到bind-address = 127.0.0.1這一行

改為bind-address = 0.0.0.0即可

二、為需要遠程登錄的用戶賦予權限

1、新建用戶遠程連接mysql數據庫

grant all on *.* to admin@'%' identified by '123456' with grant option;

flush privileges;

允許任何ip地址(%表示允許任何ip地址)的電腦用admin帳戶和密碼(123456)來訪問這個mysql server。

注意admin賬戶不一定要存在。

2、支持root用戶允許遠程連接mysql數據庫

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

flush privileges;

三、查看系統用戶

mysql 遠程連接數據庫的方法集合

1、改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改

"mysql"

數據庫里的

"user"

表裡的

"host"

項,從"localhost"改稱"%"

複製代碼

代碼如下:

mysql

-u

root

-pvmwaremysqluse

mysql;

mysqlupdate

user

set

host

=

'%'

where

user

=

'root';

mysqlselect

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.6的主機連接到mysql服務器,並使用mypassword作為密碼

GRANT

ALL

PRIVILEGES

ON

*.*

TO

'myuser'@'192.168.1.3'IDENTIFIED

BY

'mypassword'

WITH

GRANT

OPTION;

我用的第一個方法,剛開始發現不行,在網上查了一下,少執行一個語句

mysqlFLUSH

RIVILEGES

使修改生效,就可以了

3、另外一種方法:

在安裝mysql的機器上運行:

1、d:\mysql\bin\mysql

-h

localhost

-u

root

//這樣應該可以進入MySQL服務器

2、mysqlGRANT

ALL

PRIVILEGES

ON

*.*

TO

'root'@'%'WITH

GRANT

OPTION

//賦予任何主機訪問數據的權限

3、mysqlFLUSH

PRIVILEGES

//修改生效

4、mysqlEXIT

//退出MySQL服務器

這樣就可以在其它任何的主機上以root身份登錄啦。

如果經過上面的操作,還不能解決問題,那可能就是服務器的安全設置問題,是不是ip安全策略或防火牆沒有開啟3306的例外。

mysql 遠程連接方法

mysql開啟遠程連接:

以 root用戶登入mysql

GRANT all privileges ON wang.* TO 'wang'@'%' identified by 'wang';

flush privileges;

請點擊輸入圖片描述

修改配置文件

vi /etc/mysql/my.cnf

把bind-address = 127.0.0.1 這行注掉

重啟數據庫

service mysql restart

請點擊輸入圖片描述

本地測試連接3306端口

telnet 192.168.1.77 3306 若已連通

確定已安裝mysql客戶端which mysql

/usr/bin/mysql

然後mysql -uwang -h192.168.1.77 -p 看能否登錄

請點擊輸入圖片描述

外網如何利用網絡輔助nat123實現訪問內網mysql數據庫?

網絡環境:動態公網IP。

明確mysql數據庫內網訪問地址端口,確保mysql數據庫服務正常,在內網可以正常訪問連接。內網使用nat123動態域名解析。內網服務器安裝nat123客戶端,並使用它。登陸。進入主面板/域名解析列表/添加域名。選擇動態域名解析記錄,使用二級域名,或自己的域名。鼠標放在輸入框有嚮導提示。

請點擊輸入圖片描述

路由器端口映射,路由映射mysql數據庫訪問端口。

因為公網IP是在路由器上的,外網訪問時,需要經過路由,需要在路由器上做端口映射,將內網mysql數據庫訪問端口打通。路由器端口映射位置:轉發規則/虛擬服務器/添加允許外網訪問端口和協議。我的mysql數據庫端口是默認的3306,我內網對應mysql數據庫主機的內網IP地址是192.168.1.22。

請點擊輸入圖片描述

外網訪問時,使用動態解析域名。

在外網訪問mysql數據庫時,使用動態解析域名進行連接訪問。域名是不變的,可以上網即可訪問,再也不擔心動態公網IP變化的問題。

請點擊輸入圖片描述

如何連接遠程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;”查看修改是否成功。

如何讓mysql數據庫允許被遠程連接訪問?

第一:更改 “mysql” 數據庫里的 “user” 表裡的 “host” 項,從”localhost”改稱'%'。 \x0d\x0a或者新加條記錄,“host” 項為要訪問的ip地址,並授權。重啟mysql服務。 \x0d\x0a第二:在系統防火牆添加例外端口:3306,並允許例外。 \x0d\x0a\x0d\x0a錯誤提示: \x0d\x0aERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server \x0d\x0a的解決方法: \x0d\x0a1。改表法。可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 數據庫里的 "user" 表裡的 "host" 項,從"localhost"改稱"%" \x0d\x0a1.mysql -u root -pvmware\x0d\x0amysqluse mysql;\x0d\x0amysqlupdate user set host = '%' where user = 'root';\x0d\x0amysqlselect host, user from user; \x0d\x0a\x0d\x0a2. 授權法。例如,你想myuser使用mypassword從任何主機連接到mysql服務器的話。 \x0d\x0a\x0d\x0aGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; \x0d\x0a如果你想允許用戶myuser從ip為192.168.1.3的主機連接到mysql服務器,並使用mypassword作為密碼 \x0d\x0aGRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; \x0d\x0a\x0d\x0a3.在window自帶的防火牆裡的例外添加3306端口 \x0d\x0a\x0d\x0a總結: \x0d\x0amysql -u root -p \x0d\x0amysqluse mysql; \x0d\x0amysqlselect 'host' from user where user='root'; \x0d\x0amysqlupdate user set host = '%' where user ='root'; \x0d\x0amysqlflush privileges; \x0d\x0amysqlselect 'host' from user where user='root'; \x0d\x0a第一句是以權限用戶root登錄 \x0d\x0a第二句:選擇mysql庫 \x0d\x0a第三句:查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱) \x0d\x0a第四句:修改host值(以通配符%的內容增加主機/IP地址),當然也可以直接增加IP地址 \x0d\x0a第五句:刷新MySQL的系統權限相關表 \x0d\x0a第六句:再重新查看user表時,有修改。。 \x0d\x0a重起mysql服務即可完成。

mysql 怎麼設置允許遠程連接數據庫

首先我們在linux系統上安裝mysql,本文默認linux系統可以聯網或者已經掛載光盤iso了,我們使用命令 apt-get install mysql-server 命令進行安裝,安裝完成後,查看mysql是否啟動,執行命令 ps -e |grep mysql。

請點擊輸入圖片描述

驗證初始是否允許遠程連接,由於本次虛擬機IP為192.168.2.120,因此我們執行mysql -h 192.168.20.120 -P 3306 -u root -proot(備註:-proot,root指root賬號的密碼),可以得到結果連接不上。

假如我們不採用遠程連接,可以連接上,命令為:mysql -u root -proot。

請點擊輸入圖片描述

請點擊輸入圖片描述

接下來,我們連接上數據庫,執行命令use mysql;使用mysql數據庫。

並查看用戶表信息,執行命令為:select Host,User from user。

執行結果如下圖所示。

請點擊輸入圖片描述

通過上面步驟可以得到數據表 user內的值,下面我們對錶進行更新記錄允許遠程訪問,

執行命令為:update user set Host='%' where User ='root' limit 1;

(該條命令意思為更新user表內User值為root的第一條記錄的Host值設置為%)更新完成後,執行上一步查詢命令進行驗證

請點擊輸入圖片描述

執行強制刷新命令flush privileges;

執行完畢後,關閉數據庫連接。

請點擊輸入圖片描述

更改mysql安裝目錄下的my.cnf文件。

一般默認路徑在/etc/mysql/下,找到bind-address = 127.0.0.1 這一行,可以對其進行刪除,注釋或者將127.0.0.1更改為0.0.0.0,修改完畢後保存。

請點擊輸入圖片描述

重啟mysql,命令為service mysql restart。進行遠程登陸測試,可以看到已經允許遠程連接了。

請點擊輸入圖片描述

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/303008.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-31 11:48
下一篇 2024-12-31 11:48

相關推薦

  • 如何修改mysql的端口號

    本文將介紹如何修改mysql的端口號,方便開發者根據實際需求配置對應端口號。 一、為什麼需要修改mysql端口號 默認情況下,mysql使用的端口號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL數據庫 在使用Python操作MySQL之前,我們需要先連接MySQL數據庫。在Python中,我…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL數據庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28
  • CentOS 7在線安裝MySQL 8

    在本文中,我們將介紹如何在CentOS 7操作系統中在線安裝MySQL 8。我們會從安裝環境的準備開始,到安裝MySQL 8的過程進行詳細的闡述。 一、環境準備 在進行MySQL …

    編程 2025-04-27
  • 如何使用MySQL字段去重

    本文將從多個方面為您詳細介紹如何使用MySQL字段去重並給出相應的代碼示例。 一、SELECT DISTINCT語句去重 MySQL提供了SELECT DISTINCT語句,通過在…

    編程 2025-04-27
  • MySQL正則表達式替換

    MySQL正則表達式替換是指通過正則表達式對MySQL中的字符串進行替換。在文本處理方面,正則表達式是一種強大的工具,可以方便快捷地進行字符串處理和匹配。在MySQL中,可以使用正…

    編程 2025-04-27
  • Apache2.4和MySQL的全能編程開發工程師指南

    本文將從多個方面對Apache2.4和MySQL進行詳細的闡述,為全能編程開發工程師提供有用的參考和指導。首先,我們來解答這個標題所涵蓋的主題: 本文將提供Apache2.4和My…

    編程 2025-04-27
  • MySQL JDBC驅動包下載詳解

    一、JDBC驅動介紹 JDBC是Java Database Connectivity的縮寫,它是Java應用程序與各種數據庫連接的標準API,允許Java程序員使用JDBC API…

    編程 2025-04-25

發表回復

登錄後才能評論