MYSQL權限問題mysql
緣由:安裝MySQL時沒有勾選「Enable root access from remote machines」sql
如何開啓MySQL的遠程賬號-1)首先以 root 賬戶登錄 MySQL數據庫
在 Windows 主機中點擊開始菜單,運行,輸入「cmd」,進入控制檯,而後cd 進入MySQL 的 bin 目錄下,而後輸入下面的命令。 > MySQL -uroot -p123456 (123456 爲 root 用戶的密碼。)ide
如何開啓MySQL的遠程賬號-2)建立遠程登錄用戶並受權 > grant all PRIVILEGES on test_db.* to root@'192.168.1.101' identified by '123456'; (grant all PRIVILEGES on . to root@'192.168.1.101' identified by 'root';)給指定的ip開放遠程鏈接數據庫,說白了就是在mysql數據庫的user表中建立用戶名爲root 主機名host爲192.168.1.101 GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;(navicat鏈接騰訊雲MySQL) 圖片
上面的語句表示將 test_db 數據庫的全部權限受權給 root 這個用戶,容許 root 用戶在 192.168.1.101 這個 IP 進行遠程登錄,並設置 root 用戶的密碼爲 123456 。ip
下面逐一分析全部的參數:rem
all PRIVILEGES 表示賦予全部的權限給指定用戶,這裏也能夠替換爲賦予某一具體的權限,例如select,insert,update,delete,create,drop 等,具體權限間用「,」半角逗號分隔。cmd
test_db.* 表示上面的權限是針對於哪一個表的,test_db指的是數據庫,後面的 * 表示對於全部的表,由此能夠推理出:對於所有數據庫的所有表受權爲「.」,對於某一數據庫的所有表受權爲「數據庫名.*」,對於某一數據庫的某一表受權爲「數據庫名.表名」。it
root 表示你要給哪一個用戶受權,這個用戶能夠是存在的用戶,也能夠是不存在的用戶。test
192.168.1.101 表示容許遠程鏈接的 IP 地址,若是想不限制連接的 IP 則設置爲「%」便可。
123456 爲用戶的密碼。
開啓MySQL的遠程賬號-3)執行了上面的語句後,再執行下面的語句,方可當即生效。 > flush privileges;