版权声明:本文为博主原创文章,未经暴烈骑士允许或未声明者不得转载。 https://blog.csdn.net/u010543785/article/details/51537060
以前解决mysql权限问题时,都是无脑拷贝网上的命令行来解决问题,其实要理解授权语句的含义,才能在下一次碰到此类问题兵不血刃。
使用命令“use mysql”,报错: ERROR 1044 (42000): Access denied for user ''@'localhost'to database 'mysql'
解决:
打开my.ini,修改如下:
[mysqld]
skip-external-locking
skip-name-resolve
skip-grant-tables
即跳过权限验证,不然得重新装mysql,那就太麻烦了
然后就是授权:
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';//重新设置密码
mysql> FLUSH PRIVILEGES;
mysql>grant all privileges on *.* to root@localhost identified by 'yourpassword'//给本地授权
mysql> FLUSH PRIVILEGES;
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;//远程授权
mysql> FLUSH PRIVILEGES;
新版本mysql5.7处理方式不一样,可参考MySQL5.7.10免安装版配置,mysql5.7.10免安装版