A-A+
没有权限访问mysql数据库该怎么解决?
今天由于项目需要,于是给本地的mysql增加了密码,原先是空密码,不设置密码的。但是连接使用mysql的时候出现了如下图所示错误:
提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
我用的是xampp集成的mysql
解决办法:
在my.ini的[mysqld]字段加入:
skip-
grant
-tables (这句话的意思是不经过权限验证直接能进入数据库)
重启mysql服务,这时的mysql不需要密码即可登录数据库,然后进入mysql 。
mysql>use mysql;
mysql>update user set password=password('新密码') WHERE User='root';
mysql>flush privileges;
运行之后最后去掉my.ini中的skip-grant-tables,重启mysqlq。
如果你尝试phpMyAdmin 尝试连接到 MySQL 服务器,会出现如下图错误提示:
那是因为你mysql密码修改了,而原本phpMyAdmin 的密码是空的。
需要修改phpmyadmin的配置文件,让其连接到MySQL数据库,打开 config.inc.php 文件,查找下面几个部分并修改
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['user'] = '这里填写用户名';
$cfg['Servers'][$i]['password'] = '这里填写你的MySQL密码';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
保存 config.inc.php 后,重启服务器即可访问 phpmyadmin 了。