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.普通、すべて問題ありません