原因1: 查看系统编码与项目编码是否一致 使用命令: locale
解决方式:
修改 /etc/sysconfig/i18n 编码为项目编码或者反之
原因2: 密码不正确,纠正密码
解决方式:
确认用户名/密码前后是否有空格、大小写、特殊符号问题
原因3: 开启远程授权访问,
解决方式:
// 创建远程连接用户 第一个root是用户名 第二个root是密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
原因4: use表中的host为localhost,仅本机访问
解决方式:
update user set host="%" where user="root";
原因5: 项目配置的数据库用户名、密码为纯数字
解决方式:
使用单引号或双引号
原因6: 未创建数据库用户,版本不支持默认root直接访问(部分版本)
解决方式:
登陆root账号 执行创建用户命令: create user 'user'@'%' identified by 'password';
赋权(同问题3): grant all privileges on test.* to 'user'@'%';
如果问题一直解决不了不妨试试下面的办法
1 打开文件使用这个用户登陆
sudo cat /etc/mysql/debian.cnf
host = localhost
user = debian-sys-maint
password = *************
登陆
mysql -u debian-sys-maint -p
2 创建用户
create user 'system'@'localhost' IDENTIFIED BY 'system'
3 查看用户权限
SHOW GRANTS FOR 'system'@'localhost';
4 授权命令(授予system所有数据库权限):
grant all privileges on *.* to 'system'@'localhost';
如果远程链接问题可以试试原因4,将localhost修改为%;