今天來水一篇,差點被這個遠端登入搞死了,所以記錄下這個問題。
先使用status
命令檢視一下mysql
版本,這裡可以可以看到我用的是是8.0.12
版本。
mysql> status
--------------
mysql ver 8.0.12 for linux on x86_64 (mysql community server - gpl)
connection id: 14
current database: test
current user: root@localhost
ssl: not in use
current pager: stdout
using outfile: ''
using delimiter: ;
server version: 8.0.12 mysql community server - gpl
protocol version: 10
connection: localhost via unix socket
server characterset: utf8mb4
db characterset: utf8mb4
client characterset: latin1
conn. characterset: latin1
unix socket: /var/run/mysqld/mysqld.sock
uptime: 25 min 14 sec
threads: 3 questions: 201 slow queries: 0 opens: 333 flush tables: 2 open tables: 309 queries per second **g: 0.132
--------------
如果什麼都不設定,那麼用php連線時會報錯:
warning: mysqli::__construct(): the server requested authentication method unknown to the client [caching_sha2_password]
warning: mysqli::__construct(): (hy000/2054): the server requested authentication method unknown to the client
caching_sha2_password
報錯是因為加密規則的原因。
可以在mysql
資料庫下檢視相關資訊。
mysql> use mysql;
mysql> select host, user, authentication_string, plugin from user;
解決方法
首先修改遠端使用者加密規則
mysql> alter user 'root'@'%' identified by '123456' password expire never;
query ok, 0 rows affected (0.03 sec)
然後更新密碼
mysql> alter user 'root'@'%' identified with mysql_native_password by '123456';
query ok, 0 rows affected (0.08 sec)
重新整理許可權
mysql> flush privileges;
query ok, 0 rows affected (0.01 sec)
搞定!
授權所有許可權遠端登入
grant all on *.* to 'root'@'%' with grant option;
8.0版本的授權命令
重新整理許可權
mysql> flush privileges;
繼續求流量個人部落格 mysql 新建使用者遠端登入
mysql 新建的使用者預設是不能遠端登入的。可以通過root帳號登入mysql然後執行 下面命令。grant all privileges on to 使用者名稱 identified by 登入密碼 with grant option 例 grant all privileges on to r...
MySQL開啟遠端使用者登入
mysql u root puse mysql 也可檢視使用者列表 已經新增了遠端管理使用者的 select host,user from user 其中 為萬用字元,代表任意位址 host user root localhost debian sys maint localhost mysql.s...
遠端使用者登入的問題
前一段時間奇怪的發現,我們的sam9260的伺服器在使用tty終端遠端登入的時候莫名其妙的會出現有些使用者不能登入的情況,但是過一段時間之後,這個不能登入的使用者又能正常登入了,不能登入的時候,沒有提示任何的錯誤,只提示login incorrect。但是我們的linux pc伺服器上的登入是完全正...