解决mysql不能远程连接数据库方法

1、登陆mysql数据库   

   mysql -u root -p

   查看user表

 代码如下 复制代码

mysql> use mysql;
Database changed
mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host         | user | password                                  |
+--------------+------+-------------------------------------------+
| localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
2 rows in set (0.00 sec)

 

   可以看到在user表中已创建的root用户。host字段表示登录的主机,其值可以用IP,也可用主机名,

   (1)有时想用本地IP登录,那么可以将以上的Host值改为自己的Ip即可。

2、实现远程连接(授权法)

   将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。  
   update user set host = ’%’ where user = ’root’;

   将权限改为ALL PRIVILEGES

 代码如下 复制代码

mysql> use mysql;
Database changed
mysql> grant all privileges  on *.* to root@'%' identified by "root";
Query OK, 0 rows affected (0.00 sec)

mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host         | user | password                                  |
+--------------+------+-------------------------------------------+
| localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| %            | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)

这样机器就可以以用户名root密码root远程访问该机器上的MySql.

3、实现远程连接(改表法)

 代码如下 复制代码

use mysql;

update user set host = '%' where user = 'root';

这样在远端就可以通过root用户访问Mysql.

另一种方法

mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问.

  我的mysql环境是ubuntu+mysql5

  1.修改/etc/mysql/my.conf,修改bind-address,指定为本机实际ip地址,你的my.con修改完大概是如下的样子

 

 代码如下 复制代码

  [mysqld]
 

 #
  # * basic settings
  #
  default-character-set=utf8
  default-storage-engine=innodb
  bind-address    = 192.168.1.107
  user            = mysql
  pid-file        = /var/run/mysqld/mysqld.pid
  socket          = /var/run/mysqld/mysqld.sock
  port            = 3306
  basedir         = /usr
  datadir         = /var/lib/mysql
  tmpdir          = /tmp
  language        = /usr/share/mysql/english
  skip-external-locking
  

2.用root登陆mysql执行如下命令

 代码如下 复制代码
 grant all on sonardb.* to sonar@'%' identified by '123456';
  grant all on sonardb.* to sonar@localhost identified by '123456';

  sonardb替换为你想访问的数据库名,sonar是你的想使用的用户名,123456替换为你的密码,这样就开启了远程访问功能.

更多详细内容请查看:http://www.111cn.net/database/mysql/34989.htm

上面的两种方法一种是直接用root用户在cmd模式下操作,一种是在配置文件里面操作,大同小义了吧。

时间: 2024-07-30 17:34:11

解决mysql不能远程连接数据库方法的相关文章

解决MySQL无法远程连接的方法_Mysql

MySql远程连接无法打开解决办法 1.改表法. 请使用mysql管理工具,如:SQLyog Enterprise.navicate mysql 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑使用mysql管理工具登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" 2. 授权法.

ubuntu下mysql不能远程连接数据库

MySQL远程访问的命令 格式: mysql -h主机地址 -u用户名 -p用户密码 示例: yanggang@host:~$ mysql -h192.168.1.11 -uroot -p123456 ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.11' (111) 出现错误!无法连接远程的MySQL数据库 MySQL远程连接数据库,有两种方式: mysql.sock和TCP/IP,前者比后者连接访问速度更快,但仅

MySQL binlog 远程备份方法详解_Mysql

以前备份binlog时,都是先在本地进行备份压缩,然后发送到远程服务器中.但是这其中还是有一定风险的,因为日志的备份都是周期性的,如果在某个周期中,服务器宕机了,硬盘损坏了,就可能导致这段时间的binlog就丢失了. 而且,以前用脚本对远程服务器进行备份的方式,有个缺点:无法对MySQL服务器当前正在写的二进制日志文件进行备份.所以,只能等到MySQL服务器全部写完才能进行备份.而写完一个binlog的时间并不固定,这就导致备份周期的不确定. 从MySQL5.6开始,mysqlbinlog支持将

解决ubuntu下mysql不能远程连接数据库的问题

Ubuntu10.04上自带的MySQL,执行了 root@ubuntu:~#sudo apt-get install mysql 安装完mysql-server 启动mysql root@ubuntu:~#/etc/init.d/mysql start 本地可以连接进入数据库. root@ubuntu:~#mysql -uroot -p 设置了远程访问权限: mysql> grant all PRIVILEGES on *.* to admin@'%' identified by '12345

mysql远程连接数据库方法总结

mysql命令模式中连接mysql如下  代码如下 复制代码 mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysqlbin,  代码如下 复制代码 1.d:mysqlbin>mysql -h localhost -u root //这样应该可以进入MySQL服务器 2.mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION //赋予任何主机访问数据的

解决mysql无法远程连接问题

远程连接mysql数据库时出现如下提示信息:"MYSQL CONNECT ERROR – 1130:Host '202.43.**.**' is not allowed to connect to this MySQL server" 原来在创建mysql账户是,限制连接账户远程登录.也就是说,除了当前mysql所在的安装服务器外,其他的ip(主机)都是不允许访问的,尽管你的用户名和密码是正确的. 知道了问题的原因,下面就来解决问题. 首先需要登录到mysql的安装主机,然后进入mys

解决mysql中文排序无效方法

解决方法: 1.对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary". 2.如果你使用源码编译MySQL,可以编译MySQL时使用 --with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了(默认的是latin1).也可以用 extra-charsets=gb2312,gbk 来加入多个字符集 解决方法二,不影响到其它mys

mysql开启远程登录方法介绍

 代码如下 复制代码 mysql -u root -p mysql> use mysql; mysql> grant all privileges  on *.* to root@'%' identified by "root"; mysql> select host,user,password from user; +----–+--+---------------+ | host         | user | password                 

解决Mysql远程连接出错不允许访问 ERROR 1130:Host is not allow

解决mysql数据库远程连接出错ERROR 1130: Host '' is not allowed to connect to this MySQL server     解决方法:基本上第一条就能搞定.   1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localho