转载:http://www.svennee.com/archives/4.html
在MYSQL 中,用远程软件登陆服务器,有时出现:Access denied for user 'root'@'localhost'
出现这种问题,主要的原因就是权限配置的时候 没有配置正确。
解决方法如下:
当用Linux/unix的tty 登陆进MYSQL 时, mysql -u root -p 会提示你输入密码,输入正确的密码后正常登陆。
然后在提示符下,打命令:show grants; 会出现root如下的权限表示:GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '565491d704013245' WITH GRANT OPTION
此时,注意看那个“@”后面的,是localhost 意思是本机登陆,,此时,如果你用远程登陆软件来登陆的话,会出现错误提示:Access denied for user 'root'@'IP地址'。。IP地址那块是你远程机器的IP地址。也就是服务器在告诉你,当你用“IP地址”登陆时,是拒绝的,因为,MYSQL权限设置里并没有给你对应你IP地址登陆的权限。因为刚才的SHOW GRANTS;命令结果已经告诉你了,仅限本机登陆。
那解决方法如下:此时,你可以尝试用空密码连接,是可以连接进入的。或者你在服务器的tty 或者pts操作台中进入服务器后执行如下的命令:
grant all privileges on *.* to 'root'@'%' with grant option;
意思是让root在所有机器都可以登陆到MYSQL服务器(拥有所有权限)。当执行完这条命令后,用客户端登陆,此时,是需要输入口令了。
GRANT ALL PRIVILEGES
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
Sql代码
1. mysql -u root -pvmwaremysql>use mysql;
2. mysql>update user set host = '%' where user = 'root';
3. mysql>select host, user from user;
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
Sql代码
1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH
GRANT OPTION;
2.FLUSH PRIVILEGES;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码
Sql代码
1. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
2. 'mypassword' WITH GRANT OPTION;
3. FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码
Sql代码
1. GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
2. 'mypassword' WITH GRANT OPTION;
3. FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
注意授权后必须FLUSH PRIVILEGES;否则无法立即生效。
另外一种方法.
在安装mysql的机器上运行:
1、d:\mysql\bin\>mysql -h localhost -u root
//这样应该可以进入MySQL服务器
2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION
//赋予任何主机访问数据的权限
3、mysql>FLUSH PRIVILEGES
//修改生效
4、mysql>EXIT
//退出MySQL服务器
这样就可以在其它任何的主机上以root身份登录啦!
分享到:
相关推荐
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决: 1.打开在创建mysql容器时挂载的conf目录下的mysqld.cnf(如下文件) 我创建docker的姿势 2.进入mysqlId.cnf文件中在...
首先是不知道怎么忽然mysql用命令行,workbench都登录不了,都提示’Access denied for user ‘root’@’localhost’。 数据库卸载重装了几次都不行。好像感觉数据清理不干净。解决的过程遇到的坑,这里记录分享下。...
MySQL密码忘了,可以进行重置设置。安全模式的进入,操作。
主要给大家介绍了关于Linux连接mysql数据库报错:Access denied for user ’root‘@’localhost‘(using password: YES)的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起...
近些时间在开始学MySQL,安装挺顺利的,按照网上现成的教程就能安装成功。 但是,在我开开心心地输入 mysql -uroot -p ... Access denied for user 'root'@'localhost'...Access denied for user 'root'@'localhost' (usi
最近在工作中遇到一个问题,在创建数据库后连接数据库的时候居然报错了,错误代码是Access denied for user ‘root’@’%’ to database ‘xxx’,通过查找相关的资料终于解决了这个问题,所以想着总结下来分享给有...
主要给大家介绍了如何解决mysql在创建数据库后出现:Access denied for user 'root'@'%' to database 'xxx'的错误提示,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
解决办法 1.打开/etc/mysql/debian.cnf文件,修改其只读属性 chmod 777 debian.cnf 可以看到里面存储了系统管理员的密码。 2. 用udebian-sys-maint账号登录MySQL mysql -udebian-sys-maint -p 再输入对应debian.cnf里...
最新的mysql官方包安装的时候会报错:3534 Access denied for root@loacalhost (use password:NO) 这是由于新版mysql不再产生无密码root用户导致,具体解决方案和安装指导见附件
Unhandled rejection SequelizeAccessDeniedError: Access denied for user 'lupeng'@'localhost' (using password: YES) 这是Node在使用Sequlize连接Mysql数据时报的错,关键看冒号后面的错误:访问拒绝,关键是...
前言 最近学习linux,然后将win换成了ubuntu。之前安装的mysql也不能用了,现在将在ubuntu18.0.4上安装mysql并将...登录时出现ERROR 1698 (28000): Access denied for user ‘root’@‘localhost’。这应该时我们之前
主要介绍了mysql登录错误:'Access denied for user 'root'@'localhost',本文给出了操作过程及注意事项,需要的朋友可以参考下
ERROR 1044 (42000): Access denied for user ”@’localhost’ to database ‘python’ 2. 解决方法: 执行以下命令进入控制台: mysql –user=root -p 输入root用户的密码即可进入mysql控制台: 创建数据库: ...
ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES) 解决方法: 1、在启动mysql的参数中加入跳过密码问题方式,如下: vim /etc/my.cnf 并在[mysql]下面加上skip-grant-...
linux mysql忘记密码的多种解决方法。
主要介绍了Web项目打成war包部署到tomcat时报MySQL Access denied for user 'root'@'localhost' (using password: YES)错误解决方案(推),需要的朋友可以参考下
昨天连数据库没有问题,但是今天连接数据库就报这个错误了,网上也搜了不少的方法,有一个方法解决了我的问题。我的环境是Linux 步骤:首先需要跳过密码认证,在Linux环境中找到/etc/my.cnf文件,在文件中找到...
主要介绍了MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 的原因分解决办法的相关资料,需要的朋友可以参考下