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’”
解决方法:1,改表法。可能是帐号不允许从远程登陆,只能在localhost。
只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysqlmysql>update user set host = '%' where user = 'root'mysql>select host, user from user
2,授权法。
例如,希望myuser使用mypassword从任何主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY 'mypassword' WITH GRANT OPTION
允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码:
GRANT ALL PRIVILEGES ON *.* TO IDENTIFIED BY 'mypassword' WITH GRANT OPTION
找到文件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,就可以了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)