為了避免mysql中的安全隱患,將預設的root使用者重新命名。
使用 rename user 命令修改root使用者名稱失敗,
提示錯誤:ERROR 1396 (HY000): Operation RENAME USER failed for 'root'@'%'
改用update mysql使用者下的user表後修改成功。
mysql> use mysql;
Database changed
mysql> select host, user, password from user;
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 127.0.0.1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| ::1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+------+-------------------------------------------+
3 rows in set (0.00 sec)
mysql> rename user root to admin;
ERROR 1396 (HY000): Operation RENAME USER failed for 'root'@'%'
但用同樣的命令重新命名普通使用者卻沒問題。
mysql> update user set user='admin' where user='root';
Query OK, 3 rows affected (0.09 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select host, user, password from user;
+-----------+-------+-------------------------------------------+
| host | user | password |
+-----------+-------+-------------------------------------------+
| localhost | admin | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 127.0.0.1 | admin | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| ::1 | admin | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+-------+-------------------------------------------+
3 rows in set (0.00 sec)