出于安全方面考虑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 >
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访问:
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;
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.
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
-
h
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
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客户端工具远程链接了。