Mysql修改用户及密码

原因

数据库被黑客攻击,清除root用户

操作

跳过安全验证

在/etc/my.cnf中添加以下配置

skip-grant-tables

重启服务

service mysql restart

插入Root用户

插入root用户,初始化密码为123456

INSERT INTO `mysql`.`user`(`Host`, `User`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Reload_priv`, `Shutdown_priv`, `Process_priv`, `File_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`, `Show_db_priv`, `Super_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Execute_priv`, `Repl_slave_priv`, `Repl_client_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Create_user_priv`, `Event_priv`, `Trigger_priv`, `Create_tablespace_priv`, `ssl_type`, `ssl_cipher`, `x509_issuer`, `x509_subject`, `max_questions`, `max_updates`, `max_connections`, `max_user_connections`, `plugin`, `authentication_string`, `password_expired`, `password_last_changed`, `password_lifetime`, `account_locked`) VALUES ('%', 'root', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0, 'mysql_native_password', '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9', 'N', '2022-01-16 07:26:04', NULL, 'N');

更改密码(此处以primarypassword为例)

set password for root@'%' = password('primarypassword')

重新赋权

grant all privileges on *.* to root@'%' identified by 'primarypassword';

flush privileges;

退出关闭跳过验证,并重启服务

打开/etc/my.cnf文件,并注释掉flush privileges配置

flush privileges;

登录

此时,可以用新密码登录mysql了。

mysql -uroot -p

你可能感兴趣的:(database,mysql)