首頁 資料庫 mysql教程 mysql 113 錯誤怎麼解決

mysql 113 錯誤怎麼解決

Feb 14, 2023 am 09:54 AM
mysql

mysql 113錯誤的解決方法:1、關閉遠端機器的防火牆,或在防火牆允許3306埠號;2、設定資料庫允許遠端訪問,透過語句「grant privilegesCode on dbName.tableName to username@host identified by "password";」授權對應的host即可。

mysql 113 錯誤怎麼解決

 本教學操作環境:centos7系統、MySQL5.7版本、Dell G3電腦。

mysql 113 錯誤怎麼解決?

113 錯誤mysql_mysql添加,授權,刪除用戶以及連接資料庫Can't connect to MySQL server on '192.168.31.106' (113)錯誤排查...

centos7下面操作mysql添加,授權,刪除用戶

添加用戶

以root用戶登入資料庫,運行以下命令:

create user test identified by '123456789';
登入後複製

上面創建了用戶test,密碼是123456789。我們在mysql.user表裡面可以看到新增的使用者資訊

+------+----------------+-------------------------------------------+
| user | host | password |
+------+----------------+-------------------------------------------+
| test | % | *CC67043C7BCFF5EEA5566BD9B1F3C74FD9A5CF5D |
+------+----------------+-------------------------------------------+
登入後複製

授權

指令格式:grant privilegesCode on dbName.tableName to username@host identified by "password";

MariaDB [test]> grant all privileges on test.* to 'test'@'%' identified by '123456789';
Query OK,0 rows affected (0.00sec)
MariaDB [test]>flush privileges;
Query OK,0 rows affected (0.00 sec)
登入後複製

上面的語句將test表的所有操作權限都給了使用者test,密碼是123456789 同樣我們查看mysql.user的資訊

select user,host,password, Select_priv,Insert_priv, Update_priv ,Delete_priv from user where user='test';+------+----------------+-------------------------------------------+-------------+-------------+-------------+-------------+
| user | host | password | Select_priv | Insert_priv | Update_priv | Delete_priv |
+------+----------------+-------------------------------------------+-------------+-------------+-------------+-------------+
| test | % | *CC67043C7BCFF5EEA5566BD9B1F3C74FD9A5CF5D | Y | Y | Y | Y |
+------+----------------+-------------------------------------------+-------------+-------------+-------------+-------------+
1 rows in set (0.00 sec)
登入後複製

也可以使用show grants指令查看授權的權限訊息

show grants for 'test';+--------------------------------------------------------------------------------------------------------------+
| Grants for test@% |
+--------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY PASSWORD '*CC67043C7BCFF5EEA5566BD9B1F3C74FD9A5CF5D' |
| GRANT ALL PRIVILEGES ON `test`.* TO 'test'@'%' |
+--------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
登入後複製

privilegesCode表示授予的權限類型,常用的有以下幾種類型[1]:

all privileges:所有權限。

select:讀取權限。

delete:刪除權限。

update:更新權限。

create:建立權限。

drop:刪除資料庫、資料表權限。

dbName.tableName表示授予權限的特定庫或表,常用的有以下幾個選項:

.:授予該資料庫伺服器所有資料庫的權限。

dbName.*:授予dbName資料庫所有資料表的權限。

dbName.dbTable:授予資料庫dbName中dbTable表的權限。

username@host表示授予的使用者以及允許該使用者登入的IP位址。其中Host有以下幾種類型:

localhost:只允許該使用者在本機登入,不能遠端登入。

%:允許在本機以外的任何一台機器遠端登入。

192.168.52.32:具體的IP表示只允許該使用者從特定IP登入。

password指定該使用者登入時的面。

flush privileges表示刷新權限變更。

修改密碼

update mysql.user set password = password('123') where user = 'test' and host = '%';
flush privileges;
登入後複製

刪除使用者

drop user test@'%';
登入後複製

drop user指令會刪除使用者以及對應的權限,執行指令後你會發現mysql.user表和mysql.db表的對應記錄都消失了。

總結

當我們部署程式碼的時候需要建立使用者並且賦予操作資料庫的權限,那我們可以使用命令:

grant privilegesCode on dbName.tableName to username@host identified by "password";
登入後複製

需要注意的是,當我們操作權限的時候,需要選擇host,也就是允許存取的位址例如

localhost:只允許該使用者在本地登錄,不能遠端登入。

%:允許在本機以外的任何一台機器遠端登入。

192.168.52.32:具體的IP表示只允許該使用者從特定IP登入。

同時當一切都準備好了之後,當我們在另一台機器訪問的時候,如果出現下面的錯誤:

# mysql -h192.168.31.106 -utest -p;
Enter password:
ERROR2003 (HY000): Can't connect to MySQL server on'192.168.31.106'(113)
登入後複製

錯誤排查

#1、確定遠端機器的防火牆關閉,或在防火牆允許3306埠號

2、確定資料庫允許遠端訪問,透過語句grant privilegesCode on dbName.tableName to username@host identified by "password";授權對應的host可以了。

推薦學習:《MySQL影片教學

以上是mysql 113 錯誤怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP 的大數據結構處理技巧 PHP 的大數據結構處理技巧 May 08, 2024 am 10:24 AM

PHP 的大數據結構處理技巧

如何優化 PHP 中的 MySQL 查詢效能? 如何優化 PHP 中的 MySQL 查詢效能? Jun 03, 2024 pm 08:11 PM

如何優化 PHP 中的 MySQL 查詢效能?

如何在 PHP 中使用 MySQL 備份和還原? 如何在 PHP 中使用 MySQL 備份和還原? Jun 03, 2024 pm 12:19 PM

如何在 PHP 中使用 MySQL 備份和還原?

如何使用 PHP 插入資料到 MySQL 表? 如何使用 PHP 插入資料到 MySQL 表? Jun 02, 2024 pm 02:26 PM

如何使用 PHP 插入資料到 MySQL 表?

Java 枚舉類型在資料庫中的應用場景有哪些? Java 枚舉類型在資料庫中的應用場景有哪些? May 05, 2024 am 09:06 AM

Java 枚舉類型在資料庫中的應用場景有哪些?

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤 如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤 Dec 09, 2024 am 11:42 AM

如何修復 MySQL 8.4 上的 mysql_native_password 未載入錯誤

如何在 PHP 中使用 MySQL 預存程序? 如何在 PHP 中使用 MySQL 預存程序? Jun 02, 2024 pm 02:13 PM

如何在 PHP 中使用 MySQL 預存程序?

如何使用 PHP 建立 MySQL 表? 如何使用 PHP 建立 MySQL 表? Jun 04, 2024 pm 01:57 PM

如何使用 PHP 建立 MySQL 表?

See all articles