MySQL问题及解决(忘记密码或登录拒绝,远程登录被拒,中文显示问号或乱码)

1.忘记密码或登录拒绝

修改配置文件my.cnf/my.ini/mysqld.conf

在my.ini文件的[mysqld]行下添加一行:

skip-grant-tables

使其登录时跳过权限检查

重启服务

systemctl restart mysqld.service

这次不用密码登录mysql,进入命令行,
执行

use mysql;
UPDATE user SET password=PASSWORD("new password") WHERE user='root';

如果提示不存在“password”列,则:

update mysql.user set authentication_string=password('root') where user='root'
FLUSH PRIVILEGES;

即可

初始安装时,默认设置密码,通过以下查询:  
grep "password" /var/log/mysqld.log  
用默认密码登录后,执行以下修改会因为过于简单而报错:  
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';  
修改密码规则:  
set global validate_password_policy=0;  
set global validate_password_length=1;  
此时可以设置简单密码了

2.远程登录被拒

1.注释掉my.ini/my.cnf/mysqld.cnf中的

bind-address                    =127.0.0.1

2.登录phpmyadmin,添加用户使得公网可访问

use mysql;

update user set host = '%' where user = 'root';

Host:%表示任意ip  
3.重启mysql

扫描二维码关注公众号,回复: 6190090 查看本文章

3.中文显示问号或乱码

1.关闭服务器,编辑my.cnf   
2.在文件内的[mysqld]下增加如下两行设置:

character_set_server=utf8 
init_connect='SET NAMES utf8'

保存退出并开启,已有数据并不会正确显示

猜你喜欢

转载自blog.csdn.net/ddfdjffd/article/details/89970604