MySQL root ユーザーの名前を変更できません。

MySQL root ユーザーの名前を変更できません。

セキュリティ強化の一環として、mysqlのrootユーザーを削除/名前変更したいと思います。これを試すときに「mysql.procs_priv」を取得するのはなぜですかerror mysql.procs_priv doesn't exist. ?このテーブルはmysqlデータベースに必要ですか?ユーザー名を変更するためにUPDATEクエリを使用する場合、副作用はありますか? (ユーザーはデータベース内の他のテーブルと同じテーブルであるようです。)

mysql> RENAME USER root TO newroot;
ERROR 1146 (42S02): Table 'mysql.procs_priv' doesn't exist
mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv    | 
| db              | 
| func            | 
| host            | 
| tables_priv     | 
| user            | 
+-----------------+
6 rows in set (0.00 sec)

mysql> 

ベストアンサー1

mysqlユーザーの名前をにroot変更するには、newroot以下の手順に従ってください。ここでテストしてみました!

  1. まず、root ユーザーとしてログインします。mysql -u root -p
  2. grant all privileges on *.* to 'tempuser'@'localhost' IDENTIFIED BY 'somepass';
  3. flush privileges;
  4. quit
  5. 次のように再度ログインしてくださいtempusermysql -u tempuser -psomepass
  6. update mysql.user set user='newroot' where user = 'root';
  7. quit
  8. もう一度ログインしてsの元のパスワードをmysql -u newroot -p使用してください。root

おすすめ記事