1、先把data备份一下,只要数据没有破坏,大不了重新安装一个mysql恢复一下数据即可。
2、说一下你用的命令吧,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this 。
MySQL server 是无法给远程连接的用户权限问题。
3、mysql命令窗口一输入密码就自动关闭可能是mysql服务没有启动或者服务有问题了。
4、检查一下mysql端口3306是否开启,windows用netstat -an(linux用netstat -ntlp)。
5、如果密码被修改了,就重置一下密码,方法是在my.ini或者my.cnf增加一行skip-grant-tables。
重启mysql后,无密码登陆
6、查询你的mysql都有哪些用户,root用户一般会有好几个。
mysql -uroot -p -Dmysql -e “select user,host,password from user;”
root | localhost |。
root | 127.0.0.1|。
root | % | 。
| localhost |。
注意一下host是允许此用户访问的主机,%是允许所有主机访问的用户。有一个空白用户,如果这个空用户被删除了,你直接用mysql命令就不能登陆了,必须用-u参数指定用户。
7、修改密码命令
mysql -uroot -p -Dmysql -e “update user set password=password(‘123456’) where user=’root’;”
找到文件my.ini(mysql路径下),找到[mysqld],添加skip-grant-tables。
[mysqld]
......
skip-grant-tables。
重启mysql,以root用户登录(不需要输入密码)
在sql标签下,运行以下sql语句。
flush privileges;。
grant all privileges on *.* to root@'localhost' identified by "你的密码";。
到my.ini文件下注释掉之前添加的skip-grant-tables (一定要记得这步)
重启mysql,就可以了
用户权限不足
你的Root帐户是不是没有打开远程登录权限。
mysql用户权限分为本机登录和远程登录两种,root默认没有远程权限。
无法给远程连接的用户权限问题。结果这样子操作mysql库,即可解决。在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。。
mysql -u root -p。
mysql>use mysql;。
mysql>select 'host' from user where user='root';。
mysql>update user set host = '%' where user ='root';。
mysql>flush privileges;。
mysql>select 'host' from user where user='root';。
第一句是以权限用户root登录。
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址。
第五句:刷新MySQL的系统权限相关表。
第六句:再重新查看user表时,有修改。。
重起mysql服务即可完成。
1130一般是没有远程登录权限的用户登录出现的提示,你给该用户设置下远程登录权限。