1.编辑文件:/etc/my.cnf,编辑跳过密码登录

        添加行:skip-grant-tables        

        

 2.重启mysql服务

         关闭mysql:service mysqld stop

         启动mysql:service mysqld start

3.无密码登录mysql

        命令:mysql -u root

4.使用无密码登录mysql并修改新密码

如:1234 是你新设置的密码

 命令:

update mysql.user set authentication_string=password('1234')   where user='root'  and host='localhost';

 5.重复第二步操作重启服务,使用修改后的密码登录

使用以上方法后的密码登录mysql在执行某些sql语句时会出现以下异常:

The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 

我出异常情况是这样的:

 解决办法:

先刷新一下权限表。

mysql> flush privileges;

# 把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。

mysql> grant all privileges on *.* to root@'%'identified by 'password';

password是root用户密码

 

2、远程连接设置

把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。

mysql> grant all privileges on *.* to root@'%'identified by 'password';

如果是新用户而不是root,则要先新建用户

mysql>create user 'username'@'%' identified by 'password';  
Logo

更多推荐