mysql數據庫遠程連接授權,mysql遠程連接數據庫 權限

本文目錄一覽:

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

一、連接遠程數據庫:

1、顯示密碼

如:MySQL 連接遠程數據庫(192.168.5.116),端口「3306」,用戶名為「root」,密碼「123456」

C:/mysql -h 192.168.5.116 -P 3306 -u root -p123456

2、隱藏密碼

如:MySQL 連接本地數據庫,用戶名為「root」,

C:/mysql -h localhost -u root -p

Enter password:

二、配置mysql允許遠程鏈接

默認情況下,mysql帳號不允許從遠程登陸,只能在localhost登錄。本文提供了二種方法設置mysql可以通過遠程主機進行連接。

一、改表法

在localhost登入mysql後,更改 “mysql” 數據庫里的 “user” 表裡的 “host” 項,將”localhost”改稱”%”

例如:

#mysql -u root -p

Enter password:

……

mysql

mysqlupdate user set host = ‘%’ where user = ‘root’;

mysqlselect host, user from user;

二、授權法

例如: 你想myuser使用mypassword(密碼)從任何主機連接到mysql服務器的話。

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

如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql服務器,並使用mypassword作為密碼

mysqlGRANT ALL PRIVILEGES ON *.* TO ‘myuser’@’192.168.1.3’IDENTIFIED BY

‘mypassword’ WITH GRANT OPTION;

mysqlFLUSH PRIVILEGES

使修改生效,就可以了

常見問題:

1、在採用法二授權法之後,無法在本地登錄mysql(如:#mysql -u root -p -h 192.168.5.116

Enter password:

ERROR 1045 (28000): Access denied for user ‘root’@’loadb116’ (using password: YES)

上例中loadb116是主機名.

解決方法:

1、這時可以使用:mysql -u root -p 登錄,進入到mysql後。

mysql grant all privileges on *.* to ‘root’@’loadb116’

identified by ‘123456’ with grant option;

Query OK, 0 rows affected (0.00 sec)

mysql flush privileges;

Query OK, 0 rows affected (0.00 sec)

2、在本地使用ip地址登錄

# mysql -u root -p -h 192.168.5.116

Enter password:

Welcome to the MySQL monitor. Commands end with ; or /g.

Your MySQL connection id is 60

Server version: 5.1.45 MySQL Community Server (GPL)

Type ‘help;’ or ‘/h’ for help. Type ‘/c’ to clear the buffer.

mysql

MYSQL數據庫遠程連接權限

注釋掉MySQL配置文件中的 bind-address=127.0.0.1 #僅可以本地登錄

重啟數據庫

如果不行,再執行

GRANT ALL PRIVILEGES ON *.* TO ‘root’@’localhost’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;

FLUSH PRIVILEGES;

有時候MySQL數據庫遠程登錄用戶必須添加 任意主機 與本地主機 (用戶權限,密碼等一樣)才可以遠程登錄 !

服務器mysql怎麼配置才能遠程連接

設置mysql數據庫遠程連接:

Windows系統

1、 停止mysql的服務。

2、 進入命令窗口,然後進入MySQL的安裝目錄,比如我的安裝目錄是c:\mysql,進入c:\mysql\bin

3、 進入mysql數據庫服務器

c:\mysql\binmysql –u root –p hkgt123

4、 選中數據庫mysql :use mysql

5、 查詢mysql數據庫中的用戶:

Select host,user,password from mysql;

6、 授權給root用戶可以從任何主機使用密碼為』hkgt123』登錄MYSQL數據庫:

GRANT ALL PRIVILEGES ON *.* TO root@』%』 IDENTIFIED BY 『hkgt123』 WITH GRANT OPTION;

7、 提交:commit;

8、 刷新權限:flush privileges;

怎麼配置MySQL數據庫讓別人遠程訪問

有三種方法:

方法一(不推薦)、本地登入mysql,更改 “mysql” 數據庫里的 “user” 表裡的 “host” 項,將”localhost”改為”%”

#mysql -u root -proot

mysqluse mysql;

mysqlupdate user set host = ‘%’ where user = ‘root’;

mysqlselect host, user from user;

方法二、直接授權(推薦)

從任何主機上使用root用戶,密碼:youpassword(你的root密碼)連接到mysql服務器:(首先登陸Linux服務器,填寫下面代碼即可)

[root@localhost software]# mysql -u root -proot 

mysqlGRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;

mysqlFLUSH PRIVILEGES;

操作完後切記執行以下命令刷新權限

FLUSH PRIVILEGES;

方法三:終極方法

注釋bind-address = 127.0.0.1

找到mysql.cnf

把bind-address = 127.0.0.1 前面加上 #

即  #bind-address = 127.0.0.1

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的例外。

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-04 19:31
下一篇 2025-01-04 19:31

相關推薦

  • 如何修改mysql的端口號

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

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

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

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

    編程 2025-04-29
  • 數據庫第三範式會有刪除插入異常

    如果沒有正確設計數據庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係數據庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

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

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

    編程 2025-04-29
  • leveldb和unqlite:兩個高性能的數據庫存儲引擎

    本文將介紹兩款高性能的數據庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

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

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

    編程 2025-04-28
  • Python怎麼導入數據庫

    Python是一種高級編程語言。它具有簡單、易讀的語法和廣泛的庫,讓它成為一個靈活和強大的工具。Python的數據庫連接類型可以多種多樣,其中包括MySQL、Oracle、Post…

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

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

    編程 2025-04-28

發表回復

登錄後才能評論