セキュリティ強化の一環として、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
以下の手順に従ってください。ここでテストしてみました!
- まず、root ユーザーとしてログインします。
mysql -u root -p
grant all privileges on *.* to 'tempuser'@'localhost' IDENTIFIED BY 'somepass';
flush privileges;
quit
- 次のように再度ログインしてください
tempuser
。mysql -u tempuser -psomepass
update mysql.user set user='newroot' where user = 'root';
quit
- もう一度ログインしてsの元のパスワードを
mysql -u newroot -p
使用してください。root