在远程连接mysql的时候应该都碰到过,root用户无法远程连接mysql,只可以本地连,对外拒绝连接。
需要建立一个允许远程登录的数据库帐户,这样才可以进行在远程操作数据库。
方法如下:
默认情况下MYSQL数据库的系统数据库mysql系统表user内用户权限只提供localhost本机登陆;
需要更改权限才能实现远程连接MYSQL数据库。
可以通过以下方式来确认:
root#mysql -h localhost -uroot -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 4.0.20a-debug
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql> use mysql; (此DB存放MySQL的各种配置信息)
Database changed
mysql> select host,user from user; (查看用户的权限情况)
mysql> select host, user, password from user;
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| localhost | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| 127.0.0.1 | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| localhost | | |
+-----------+------+-------------------------------------------+
4 rows in set (0.01 sec)
由此可以看出,只能以localhost的主机方式访问。
解决方法:
mysql> Grant all privileges on *.* to 'root'@'%' identified by 'kdm001' with grant option;
(%表示是所有的外部机器,如果指定某一台机,就将%改为相应的机器名;‘root’则是指要使用的用户名,)
mysql> flush privileges; (运行此句才生效,或者重启MySQL)
Query OK, 0 rows affected (0.03 sec)
再次查看。。
mysql> select host, user, password from user;
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| localhost | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| 127.0.0.1 | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| localhost | | |
| % | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
+-----------+------+-------------------------------------------+
4 rows in set (0.01 sec)
可以看出已经添加了一个新的用户
检查mysqld监听模式是不是设为只监听localhost了,
用netstat看看,如果是的话。找到mysql的配置文件my.cnf,把bind address修改这台机器的真实IP就可以了
或者直接把bind address这一项注释掉也行。需要重启才能生效。
退出,试试效果....
现在可以成功登录了..
分享到:
相关推荐
mysql 远程root权限mysql 远程root权限
设置mysql数据库远程连接: Windows系统 1、 停止mysql的服务。 2、 进入命令窗口,然后进入MySQL的安装目录,比如我的安装目录是c:\mysql,进入c:\mysql\bin 3、 进入mysql数据库服务器 c:\mysql\bin>mysql –u ...
mysql给root开启远程访问权限,修改root密码
众所周知在默认情况下,我们安在阿里云上的mysql是不支持远程连接的,但是我们还需要通过一些工具来连接mysql,如navicat,这时就需要我们来修改mysql的远程连接了。 注意一点:当我们修改完mysql权限相关的操作后...
#------------mysql root 用户无法赋权问题解决 -------- 1,登录 mysql -u root -p 2,use mysql; 选择mysql数据库 3,执行以下操作(查询用户的赋权权限,更改赋权权限 ,刷新生效) mysql> select user,host,...
上一篇文章讲解了重置 MySQL 的密码,有同学反馈无法程连接到数据库,这是因为 MySQL 安装完成后只支持 localhost 访问,我们必须设置一下才可以远程访问,另外还有一些 MySQL 8.0 连接时的一些问题,本文也会一并...
Ubuntu18.0.4安装MySQL,修改ROOT用户密码并允许远程访问,添加用户并配置数据库的访问权限
mysql -u root -p 查看user表 mysql> use mysql; Database changed mysql> select host,user,password from user; +--------------+------+-------------------------------------------+ | host | user | ...
前言:今天想远程连接一下自己服务器上的MySQL,用的用的软件是Navicat,服务器上的MySQL版本为5.7 第一次连接的时候就出意外了 大概意思是 无法连接MySQL服务,解决步骤如下 第一:首先检查你的阿里或腾讯的服务器...
默认情况下mysql是不允许远程访问的,也不支持root用户远程访问,所以要设置下 第一种方法: 权限问题,打开mysql数据库中的user表,把你用来连接数据库的用户所在那条记录的host字段改成%就行了。
5.创建远程访问用户并赋权限 mysql -uroot -p mysql> create user root identified by 'youpassword'; mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; mysql> flush ...
代码如下://建议设置固定IPmysql> GRANT ... 您可能感兴趣的文章:云服务器Ubuntu_Server_16.04.1安装MySQL并开启远程连接的方法mysql修改开启允许远程连接的方法Linux服务器中MySQL远程连接的开启方法Ubuntu16.04 serv
近日在Ubuntu上安装了一个 MySQL 5.0,因为使用 phpMyAdmin 还必须安装 PHP,所以打算直接使用远程管理工具Navicat for MySQL 来连接。 在 Ubuntu 中通过 mysql 命令行创建好一个数据表并分配了权限: 代码如下:...
MySQL基础知识第一期,如何远程访问MySQL数据库设置权限方法总结,讨论访问单个数据库,全部数据库,指定用户访问,设置访问密码,指定访问主机。 1,设置访问单个数据库权限 代码如下:mysql>grant all privileges ...
方法一、本地登入mysql,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,将”localhost”改为”%” #mysql -u root -proot mysql>use mysql; mysql>update user set host = ‘%’ where user = ‘root’; ...
为需要远程登录的用户赋予权限: 代码如下:mysql> GRANT ALL PRIVILEGES ON *.* TO root@”%” IDENTIFIED BY “123456”;mysql> flush privileges; 远程登录命令:mysql -h 223.4.92.130 -uroot -p(-h后跟的是要...
关于mysql远程连接的问题,大家在公司工作中,经常会遇到mysql数据库存储于某个人的电脑上,大家要想连接mysql服务,装有mysql服务的电脑就必须开启远程连接 第一步,用dos连接上你的数据库,(我这里说的是win) ...
如果root账号没有远程访问权限,则需要给root账号赋予远程访问权限输入以下命令GRANT ALL PRIVILEGES ON . TO root@"%" I
1、改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” ...例如,你想myuser使用mypassword从任何主机连接到mysql服
打开workbench主界面,使用默认建立的root账户登 、选择users and privileges; 、新建一个叫做forremote的账户,所有申请访问该主机 1111