mysql 允许账号 drop 自己,如果 root 账户把自己 drop 了。
有两种方式
1, 以安全模式启动
以安全模式启动 MYSQL,跳过权限验证
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
或者
修改 my.cnf 并重启 (本质上和上面方法一样,都是跳过权限验证,更麻烦)
sudo vim /etc/my.cnf
[mysqld]
skip-grant-tables
port = 3306
2, 然后登陆
mysql -h127.0.0.1
执行
INSERT INTO mysql.user
SET user = 'root',
host = '%',
authentication_string =Password('123456'),
Select_priv = 'y',
Insert_priv = 'y',
Update_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',
Alter_priv = 'y',
Show_db_priv = 'y',
Super_priv = 'y',
Create_tmp_table_priv = 'y',
Lock_tables_priv = 'y',
Execute_priv = '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',
Event_priv = 'y',
Trigger_priv = 'y',
Create_tablespace_priv = 'y',
ssl_cipher = '',
x509_issuer = '',
x509_subject = '';
当MySQL的root账户不慎被删除,本文提供两种恢复方法:通过安全模式启动MySQL跳过权限验证,或修改my.cnf配置文件重启服务。接着,使用特定SQL语句重新创建root账户并赋予所有权限。

9万+

被折叠的 条评论
为什么被折叠?



