设置Ubuntu允许远程连接MySQL

时间:2021-11-02 14:41:36
       出于安全方面考虑MySql-Server 只允许本机(localhost, 127.0.0.1)来连接访问. 这对于 Web-Server 与 MySql-Server 都在同一台服务器上的网站架构来说是没有问题的. 但随着网站流量的增加, 后期服务器架构可能会将 Web-Server 与 MySql-Server 分别放在独立的服务器上, 以便得到更大性能的提升, 此时 MySql-Server 就要修改成允许 Web-Server 进行远程连接.

假设我们有:

Client: 192.168.1.100                  //win7 OR XP
Mysql-Server : 192.168.1.101    //ubuntu


我们可以按照下面的步骤修改:

1 、 登录 Mysql - Server 连接本地 mysql (默认只允许本地连接)
01     Microsoft Windows XP  [ 版本 5.1.2600 ]
02     (C) 版权所有  1985 - 2001  Microsoft Corp.
03     
04     C:\Documents  and  Settings\kuco > mysql  - h localhost  - u root  - p
05     Enter password:
06     Welcome  to  the MySQL monitor.  Commands  end   with  ;  or  \g.
07     Your MySQL connection id  is   13
08     Server version:  5.1 . 45 - community - log  MySQL Community Server (GPL)
09     
10     Type  ' help; '   or   ' \h '   for  help. Type  ' \c '   to  clear the  current  input statement.
11     
12     mysql >


2, 修改 Mysql-Server 用户配置
01     mysql >   USE  mysql;  --  切换到 mysql DB
02      Database  changed
03     mysql >   SELECT   User , Password, Host  FROM   user --  查看现有用户,密码及允许连接的主机
04      + -- ----+----------+-----------+
05      |   User   |  Password  |  Host       |
06      + -- ----+----------+-----------+
07      |  root  |            |  localhost  |
08      + -- ----+----------+-----------+
09      1  row  in   set  ( 0.00  sec)
10     
11     mysql >   --  只有一个默认的 root 用户, 密码为空, 只允许 localhost 连接
12     mysql >   --  下面我们另外添加一个新的 root 用户, 密码为空, 只允许 192.168.1.100 连接
13     mysql >   GRANT   ALL   PRIVILEGES   ON   * . *   TO   ' root ' @ ' 192.168.1.100 '  IDENTIFIED  BY   ''   WITH   GRANT   OPTION ; 或允许所有ip访问:
        mysql> GRANT ALL PRIVILEGES ON  *.*  TO root@"%" IDENTIFIED BY "mysqluser";

14     
15     mysql >   --  当然我们也可以直接用 UPDATE 更新 root 用户 Host, 但不推荐, SQL如下:
16     mysql >   --  UPDATE user SET Host='192.168.1.100' WHERE User='root' AND Host='localhost' LIMIT 1;



3、 修改 Mysql 配置文件 my.ini
1    bind-address = 127.0.0.1
2    将 bind-address = 127.0.0.1 这一行注释掉, 即修改为:
3    #bind-address = 127.0.0.1
4    到此 Mysql-Server 端配置就完成了.

然后重启 MySQL
$> sudo /etc/init.d/mysql restart
* Starting MySQL database server mysqld
   ...done.
* Checking for corrupt, not cleanly closed and upgrade needing tables.
andy@ubuntu:~$ sudo /etc/init.d/mysql start
* Starting MySQL database server mysqld
   ...done.




4, 连接 Web-Server , 检查一下是否能连上
1     kuco @kuco - desktop: / / opt / lampp / bin / mysql  - 192.168 . 1.101   - u root  - p
2     Enter password:
3     Welcome  to  the MySQL monitor.  Commands  end   with  ;  or  \g.
4     Your MySQL connection id  is   23
5     Server version:  5.1 . 45 - community - log  MySQL Community Server (GPL)
6     
7     Type  ' help; '   or   ' \h '   for  help. Type  ' \c '   to  clear the  current  input statement.
8     
9     mysql >   --  一切OK

配置到这一步就可以使用Mysql客户端工具远程链接了。