解决mysql不能远程连接数据库方法
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-13 15:14:54 浏览: 评论:0
一般的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 | --phpfensi.com
- +--------------+------+-------------------------------------------+
- 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替换为你的密码,这样就开启了远程访问功能.
上面的两种方法一种是直接用root用户在cmd模式下操作,一种是在配置文件里面操作,大同小义了吧.
Tags: mysql远程连接的 mysql远程权限
- 上一篇:mysql导出xls文件方法
- 下一篇:MySQL中获得更好的全文搜索结果
相关文章
- ·怎么让mysql允许远程连接的方法(2014-10-08)
- ·mysql远程访问权限配置方法详解(2014-09-24)
- ·mysql远程连接权限开启语句(2014-09-25)
- ·mysql设置远程访问数据库方法(2014-09-29)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)