您的位置:首页 > 数据库 > MySQL

MySQL常见错误

2016-01-22 14:42 525 查看
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mydb'。

原因是因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的,通过错误提示里的''@'localhost'可以看出来。

1、cmd模式进入mysql的bin目录,输入D:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld --defaults-file="D:\Program Files\MySQL\MySQL Server 5.6\my-default.ini" --console --skip-grant-tables,回车

2、再开一个dos窗口,同样切到mysql bin目录下,D:\Program Files\MySQL\MySQL Server 5.6\bin>mysql -u root mysql,回车

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.6.20 MySQL Community Server (GPL)

mysql>

已连接上mysql数据库,可以输入mysql命令了。

3、设置密码

mysql> update user set password=PASSWORD('password') where user='root';

Query OK, 2 rows affected (0.02 sec)

Rows matched: 3 Changed: 2 Warnings: 0

mysql> FLUSH PRIVILEGES;

mysql> quit

之后按正常方法连接mysql就可以了。如果不能连接,查看下mysql服务是否启动。

第二种情况:

显示的是主机localhost连不上MySQL。由于我不小心将localhost给删除了有关。MySQL控制台也进不去。可以在my.ini配置文件中mysqld处添加skip-grant-tables。然后就可以从MySQL控制台登录了。

错误1067,启动中断

data里面的默认数据库没有

MySQL连接不上登陆出现“Host 'localhost' is not allowed to connect to this MySQL server..."

在[mysqld]的段中加上一句:skip-grant-tables

跳过MySQL的访问控制,任何人都可以在控制台以管理员的身份进入MySQL数据库。

需要注意的是在修改完密码以后要把MySQL服务器停掉重新启动才会生效
重启mysql服务!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: