vps kloxo mysql root用户不小心让删除掉了怎么解决

一、以系统的root用户登陆系统,进入终端
  [root@localhost /]#

二、杀掉mysql进程
  方法1、[root@localhost /]#killall mysqld
  方法2、[root@localhost /]#ps -aux  //查看所有进程,找到mysql进程的pid
  然后
  [root@localhost /]#kill pid   //pid是mysql的进程号

三、用--skip-grant-tables参数启动mysqld 
      [root@localhost /]# find / -name  mysqld_safe 

      找到 mysqld_safe所在的路径 /usr/local/lxlabs/kloxo/bin

      [root@localhost /] # cd  /usr/local/lxlabs/kloxo/bin

      // 其中/usr..../bin是我的mysql安装目录

      [root@localhost bin]#   mysqld_safe --skip-grant-tables&

      提示

      [root@localhost bin]# Starting mysqld daemon with databases from /var/lib/mysql

      输入  mysql

     [root@localhost bin]# mysql    // 进入mysql

     mysql> use mysql   //切换到mysql database

     mysql> select * from user;

    mysql> insert into user set user=’root’,ssl_cipher=”,x509_issuer=”,x509_subject=”;   // 增加root用户的表 

    mysql>  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’;  //修改root用户的权限

mysql> UPDATE user SET password=password('123456') WHERE user='root';  //将root密码该为123456了

mysql> quit; 

四 带权限正常启动mysql

#service mysqld start 

五 使用root用户登录(如果有phpadmin就直接用root空密码登录再修改密码或权限就可以了)

#mysql -u root -p

mysql> update user set password=password(’123456′) where user=’root’;

Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> flush privileges;  

//mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效

mysql> quit


  

原文地址:https://www.cnblogs.com/phpnow/p/2542859.html