mysql root 用户无法远程登陆问题

今天使用mysql workbench 连接vmware上的mysql时,一直无法连接,查阅了网上的相关资料之后,收集了一些解决方法:
1、授权法:mysql的root用户默认情况下只能在本地登陆,不能远程,若远程连接,需要授权:

 代码如下 复制代码
    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
    mysql>FLUSH PRIVILEGES;

    ('root'@'%',指定root用户可以在任意一台计算机上连接数据库服务器,若要指定特定的计算机,可将%替换为特定的IP)

2、改表法:和授权法类似,授权法的结果是在数据库mysql的user表中添加一条记录,host列值为‘%’,user列值为‘root’,如下表:

 代码如下 复制代码
+-----------------------+------+
| host                           | user |
+-----------------------+------+
| %                              | root |
| 127.0.0.1                   | root |
| localhost                     |        |
| localhost                     | root |
| localhost.localdomain    |        |
| localhost.localdomain    | root |
+-----------------------+------+

3、开放3306端口:网上更多的是强调root用户的授权方法,但是如果只是给root授权而没有开放3306端口,仍旧是无法连接。
开放端口的方法如下:
打开文件 /etc/sysconfig/iptables(该文件路径因操作系统而异),文件内容如下:

 代码如下 复制代码
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

添加黑体字内容以打开3306端口,重启iptables:
#service iptables restrat

4、还有一种方法说要修改mysql的配置文件my.cnf中的bind-address选项,我的配置文件中没有这一选项,加上之后,没有效果,不知道什么原因。

以上四个地方,经反复试验后,其中授权root和开放3306端口是必须的,缺一不可。

时间: 2024-10-26 01:29:10

mysql root 用户无法远程登陆问题的相关文章

linux中禁止root用户ssh远程登录并修改ssh远程登录端口

服务器的安全性不言而喻,服务器安全性设置的第一步就是堵住入口. 对于linux而言,堵住入口,就是不让别人能随便进入我们的服务器里面乱搞,不然一个命令 "rm  -rf  / ",后果不堪设想.所以不能让别人进入我们的服务器,更加不能让别人用root用户进去.所以最好的做法就是: 在linux上面设置禁止root用户远程登录,并且修改ssh端口[因为默认的端口是22,改了设置多一层障碍],然后我们需要登录进去的时候,就用一个没有权限的用户登录进去,然后再用su命令切换到root或者其他

更改Mysql root用户密码_Mysql

新下载了mysql,口令为空,如何修改root口令: 首先登陆mysql use mysql; update user set password=password('new_password') where user='root'; flush privileges; 注意需要 flush privileges; 更改Mysql root用户口令的内容小编就给大家介绍到这里,希望对大家有所帮助! 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用

服务器-centos ssh root账号不能远程登陆

问题描述 centos ssh root账号不能远程登陆 ssh,sftp忽然之间不能远程登陆了,系统是精简版的centos 服务器返回错误信息大致有一下几个:使用Bitvise ssh客户端1.Server disconnected without sending a disconnect message.2.积极拒绝3.自动断开 去机房捣鼓了一下午还是不行 解决方案 防火墙,或者sshd服务挂了. 解决方案二: 积极拒绝,自动断开 应该是服务器关了把 解决方案三: sshd正常呢,服务器也运

mysql开启root用户可远程登录方法

开启 MySQL 的远程登陆帐号有两大步: 1.确定服务器上的防火墙没有阻止 3306 端口. MySQL 默认的端口是 3306 ,需要确定防火墙没有阻止 3306 端口,否则远程是无法通过 3306 端口连接到 MySQL 的. 如果您在安装 MySQL 时指定了其他端口,请在防火墙中开启您指定的 MySQL 使用的端口号. 如果不知道怎样设置您的服务器上的防火墙,请向您的服务器管理员咨询. 2.增加允许远程连接 MySQL 用户并授权. 1)首先以 root 帐户登陆 MySQL 在 Wi

如何向Mysql中添加可以远程登陆的超级管理员用户

你可以通过发出GRANT语句增加新用户,首先在数据库本机上用ROOT用户登录上MySql,然后运行命令: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利  代码如下 复制代码 grant create on testdb.* to developer@'192.168.0.%';  grant alter on testdb.* to developer@'192.168.0.%';  grant drop on t

让FreeBSD的root用户能够SSH登陆

如果刚装好FreeBSD,默认是不允许root用户登录SSH的,如果登陆结果就会如下: 用PuTTY登陆时,总提示:login as: rootUsing keyboard-interactive authentication.Password:Access denied 这个时候需要编辑其配置文件,输入以下命令进行修改: ee /etc/ssh/sshd_config 然后进行修改. 找到 #PasswordAuthentication no 修改为: PasswordAuthenticati

如何修改mysql root用户密码

mysql 修改密码,mysql 修改root密码 ,如何修改mysql密码,mysql 修改用户密码 先要声明一点,大部分情况下,修改MySQL是需要有mysql里的root权限的, 所以一般用户无法更改密码,除非请求管理员. 方法一使用phpmyadmin,这是最简单的了,修改mysql库的user表, 不过别忘了使用PASSWORD函数. 方法二使用mysqladmin,这是前面声明的一个特例. mysqladmin -u root -p password mypasswd 输入这个命令后

mysql root用户的密码修改和消除_Mysql

一.密码的修改:使用mysqladmin命令 1.例如你的 root用户现在没有密码,你希望的密码修改为abc,那么命令是:mysqladmin -u root password abc 2.如果你的root现在有密码了,那么修改密码为abc的命令是:mysqladmin -u root -p password youyou 注意,命令回车后会问你旧密码,输入旧密码之后命令完成,密码修改成功. 二.密码的消除 1.以root登录:mysql -u root -p 2.mysql>use mysq

更改root密码和恢复MySQL root用户

更改root密码和恢复mysql教程 root用户 我不小心删除了mysql的root帐号.我该怎么办?"和"我失去了我的根密码?这种问题经碰到,那么你碰这类问题时是备份数据,重新安装mysql和恢复所有数据库教程文件?还是怎么办,我们现在为你找到一个更好的办法. 1.停止mysql , 2.服务器权限 c:www.111cn.netbinmysqld-nt.exe --skip-grant-tables     where c:www.111cn.net is mysql'insta