Mysql連線許可權總結
阿新 • • 發佈:2018-12-17
前言:最近專案在做驗收,驗收過程中遇到不少大大小小的問題甚是慌張,今天這個帖子針對mysql連線許可權做下總結
描述:我們系統有個資料來源連線功能,可以輸入資料庫連線資訊,拉取資料庫的元資料資訊,問題在測試人員在輸入IP的方式等資訊時連線時,卻報錯了
Access denied for user 'xncui01'@'localhost' (using password: YES)
,然後測試人數把資料IP換成127.0.0.1確可以連線成功。當時自己對mysql的許可權不是很瞭解,通過網上查貼終於找出問題點,下面開始今天總結內容。
問題分析:看到上面的報錯資訊,我們知道是使用者許可權不足導致的
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
123
我們通過頁面連線資料來源相當於mysql -uroot -proot -h19.63.11.93這種方式來連線的,其實這種方式的連線mysql會在自己的維護的hosts表裡去反向對映主機名的,所以通過該圖知道該使用者是缺少主機名許可權的
mysql -uxncui02 -p123456 -h10.161.0.93
ERROR 1045 (28000): Access denied for user 'xncui02'@'gza05-104-bigdata-161000093.ctyun.local' (using password: YES)
緊接著我們建立第二個賬戶
CREATE USER 'xncui01'@'127.0.0.1' IDENTIFIED BY '123456';
CREATE USER 'xncui01'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'xncui01'@'gza05-104-bigdata-161000093.ctyun.local' IDENTIFIED BY '123456';
mysql -uxncui01 -p123456 -h10.161.0.93
Welcome to the MySQL monitor. Commands end with ; or \g.