mysqlが誤ってrootユーザーを削除するか、またはrootユーザーを削除しない – linux

LinuxにMysqlをインストールすると、rootユーザーが表示されなかったり、mysql.userテーブルからrootアカウントが削除されたりして、多くの権限が制御不能になることがあります。

解決方法rootユーザーを再作成し、次のようにすべての権限を付与します。
1. /etc/my.confファイルを修正して、skip-grant-tablesを追加します。

[mysqld]

Datadir = / var / lib / mysql
ソケット= / var / lib / mysql / mysql.sock
ユーザー= mysql
#さまざまなセキュリティリスクを防ぐために、シンボリックリンクを無効にすることをお勧めします。
シンボリックリンク= 0

スキップ許可テーブル

[mysqld_safe]

Log-error = / var / log / mysqld.log
Pidファイル= / var / run / mysqld / mysqld.pid

2、MySQLサービスを再起動します

/etc/init.d/mysqld restart

3、ログインmysql、パスワードなしに次のコマンドを使用

[root @ test1]#mysql

4、ログイン後、rootユーザーを再追加

MySQL> mysqlを使用する。
MySQL>ユーザーセットに挿入user = ‘root’、ssl_cipher = ”、x509_issuer = ”、x509_subject = ”;
MySQL>更新ユーザセットHost = ‘localhost’、select_priv = ‘y’、

MySQL> Alter_priv = ‘y’、delete_priv = ‘y’、create_priv = ‘y’、drop_priv = ‘y’、reload_priv = ‘y’、shutdown_priv = ‘y’、Process_priv = ‘y’、file_priv = ‘y’、 Grant_priv = ‘y’、References_priv = ‘y’、index_priv = ‘y’、create_user_priv = ‘y’、show_db_priv = ‘y’、super_priv = ‘y’、create_tmp_table_priv = ‘y’、Lock_tables_priv = ‘y’ ‘y’、repl_slave_priv = ‘y’、repl_client_priv = ‘y’、create_view_priv = ‘y’、show_view_priv = ‘y’、create_routine_priv = ‘y’、alter_routine_priv = ‘y’、create_user_priv = ‘y’ ‘;

MySQL> quit;

5.次のコマンドを使用して再度ログインし、rootのパスワードを設定します。

MySQL> mysql -u root
Mysql> update mysql.user set password = password( ‘yourrootpasswd’)ここで、user = ‘root’;
Mysql> update user set host = ‘%’ここで、user = ‘root’;

//%は、mysqlにアクセスするためのリモートマシンを設定することを意味します。
MySQLの>フラッシュ特権。
MySQL> quit;

6. /etc/my.confファイルを変更し、skip-grant-tablesを削除して、mysqlを再起動します。

[root @ test1]#/etc/init.d/mysqld restart

7.普通、すべて問題ありません

コメントを残す