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'
保存退出并开启,已有数据并不会正确显示