mysql手贱删除了root用户,手动添加以及修改密码:
解决方式:
1、打开MySQL目录下的配置文件(/etc/mysql/mysql.conf.d/mysqld.cnf,),在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。
2、重启MySQL服务(我用命令 service mysql restart)。
3、在命令行中输入“mysql -uroot -p”(不输入密码),回车即可进入数据库。
4、新建root 用户:
use mysql;
insert into user set user='root',ssl_cipher='',x509_issuer='',x509_subject='';
update user set Host='localhost',select_priv='y', insert_priv='y',update_priv='y',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',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' where user='root';
5、重点来了。我他妈的这一点烦死了。我试了网上各种修改密码的语句,结果都显示错误,无法修改。弄了整整半天,修改root密码前一定要先清空root密码。草!
use mysql;
flush privileges;
UPDATE user SET authentication_string="" WHERE user="root";//先把root密码置为空
flush privileges;
ALTER user 'root'@'localhost' IDENTIFIED BY 'Ycm@123nihao';//再重置密码
6、打开MySQL目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。
7、重启MySQL服务。( service mysql restart)