'root'@'localhost'不能登陆问题


鉴于我在遇到这个问题时,在网上搜索到几十个答案都是进行更改密码解决该问题,然并无卵用。最后仍是让小编找到了解决方法,但愿你们遇到该问题时可以节省时间。解决方法以下:

 
#mysql -u root -p
提示”Access denied for user ‘root’@’localhost’ (using password: YES)”
 
这个缘由看起来好像是root 密码被修改了,可是实际上不是这样的
    经过给my.ini文件中添加 skip-grant-tables 一行以后,再使用mysql直接回车以后输入以下命令:
update mysql.user set authentication_string="mypassword" where user="root";
flush privileges;
quit;
 在my.ini文件中删除skip-grant-tables以后从新登陆仍是这个错误。所以问题来了,到底是什么缘由致使不能登陆?从错误能够猜出,应该是localhost没有与127.0.0.1对应的缘由,输入命令查询:
    
select user,host from mysql.user;
 
显然是不对的。而后使用下面语句登陆具体的ip地址:
mysql -u root -p xxxx -h 127.0.0.1
 
 
采用赋权语句,将root登陆到具体的IP地址:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
将其中的%改成127.0.0.1,就能够在本机登陆mysql了
要是不改变的话,在任意电脑均可以登陆这个mysql数据库。远程电脑登陆的命令为:
    
mysql -h 数据库所在主机ip  -u root -p
 
而后就能够登陆了。
相关文章
相关标签/搜索