1. 程式人生 > >linux伺服器A遠端連線伺服器B的mysql及1045錯誤

linux伺服器A遠端連線伺服器B的mysql及1045錯誤

伺服器A上已經存在定時執行備份mysql的指令碼,最近伺服器B又新起了一個專案,也需要備份資料。圖方便,打算直接都在A的指令碼中執行。

指令碼如下:

 

 

dateStr=`date +"%y%m%d-%H%M%S"`

if [ ! -z "${1}" ]; then

mkdir -p /mnt/upload/deployBackup/${dateStr}

 

......

 

echo 備份135資料庫

/usr/bin/mysqldump -p3306 -h***.**.**.135  -uroot -pabc123 --databases -B --flush-logs -c -a --single-transaction --extended-insert=false --default-character-set utf8 --hex-blob abccnew | gzip > /mnt/upload/deployBackup/${dateStr}/yljkcnew135-${dateStr}.sql.gz

......

 

問題:

遠端連線135上的mysq時報:(1045錯誤)Access denied for user 'root'@'localhost' (using password yes);l

原因在135上的mysql沒有授予遠端連線的許可權。

解決辦法:

 

mysql> use mysql;
Database changed
mysql> grant all privileges  on *.* to [email protected]'%' identified by "password";
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host         | user | password                                  |
+--------------+------+-------------------------------------------+
| localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| %            | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)

  這樣所有的ip可以以使用者名稱root密碼password遠端訪問該機器上的MySql.