昨天在centos上安装mysql后,未设置root用户,导致了一系列问题,今天可算是解决了,下面开始介绍解决方法
输入mysql,成功启动后输入use mysql,出现如下错误:Access denied for user ''@'localhost' to database 'mysql'
还有,输mysql可以,输mysql -u root就出错了:Access denied for user 'root'@'localhost' (using password: NO).
原因是:
是昨日设置ROOT密码时出错
update user set password = '123456' where user ="root" //这样写是错的,密码其实不是123456
应该为update user set password = password ('123456') where user = "root"
解决问题的具体操作步骤:
关闭mysql:# service mysqld stop
然后:(该命令是让mysql跳过权限检查,否则我们没有权限访问mysql.user那张表,也就无法设置我们的账户)
# mysqld_safe --skip-grant-tables
启动mysql:
# service mysqld start
连接mysql:
mysql -u root
切换到mysql这个库
mysql> use mysql
设置我们的账户密码:
mysql> UPDATE user SET Password=PASSWORD('xxx') WHERE user='root';
返回成功后(该命令是清空缓存中的权限):
mysql> flush privileges;
现在已经可以用账号密码登录的
退出后重新试一下就可以了
mysql>\q