一、以系统的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