1.编辑文件:/etc/my.cnf,编辑跳过密码登录
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';