您的位置:首页 > 运维架构 > Linux

Linux|UNIX下LAMP环境的搭建及常见问题[连载8]

2009-09-12 23:25 633 查看
请按照Linux|UNIXLAMP环境的搭建及常见问题[连载4] 中提及的方法初始化数据库,并启动数据库。
现在我们来测试一下客户端与MySQL服务器的SSL连接是否正常。
启动数据库:
# /etc/init.d/mysqld restart
MySQL manager or server PID file could not
be found! [FAILED]
Starting
MySQL.
[ OK ]
通过mysql客户端登录到数据库中
# /usr/local/mysql/bin/mysql -u root
Welcome to the MySQL monitor.
Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.33-log Source
distribution

Type 'help;' or '\h' for help. Type '\c' to
clear the buffer.

mysql>
在mysql下执行如下的几个命令测试一下。
确认服务器支持SSL连接
mysql> SHOW VARIABLES LIKE 'have_ssl';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_ssl |
YES |
+---------------+-------+
1 row in set (0.00 sec)

确认当前的会话是否是经过SSL来传输的
SHOW STATUS LIKE 'Ssl_cipher';
+---------------+--------------------+
| Variable_name |
Value
|
+---------------+--------------------+
| Ssl_cipher | DHE-RSA-AES256-SHA
|
+---------------+--------------------+
1 row in set (0.01 sec)
上面的测试也可以通过\s命令来查看
mysql> \s
--------------
/usr/local/mysql/bin/mysql Ver 14.14
Distrib 5.1.33, for pc-linux-gnu (i686) using EditLine wrapper

Connection
id: 4
Current database:
Current
user: root@localhost
SSL:
Cipher in use is DHE-RSA-AES256-SHA

Current
pager: stdout
Using
outfile: ''
Using
delimiter: ;
Server
version: 5.1.33-log Source
distribution
Protocol
version: 10
Connection:
Localhost via UNIX socket
Server characterset:
latin1
Db
characterset: latin1
Client characterset:
latin1
Conn. characterset:
latin1
UNIX
socket:
/tmp/mysql.sock
Uptime:
8 min 4 sec

Threads: 1 Questions: 20 Slow
queries: 0 Opens: 15 Flush tables: 1 Open tables: 8 Queries
per second avg: 0.41

如果黑体部分和这里显示是一致的那说明你的MySQL服务器和客户端(本机)的SSL认证就配置成功了。
客户端(Linux)不是本机的情况:
1.请在客户机上编译安装OpenSSl软件和MySQL的客户端
2.传输ca-cert.pem、client-cert.pem、client-key.pem三个文件到客户端对应目录下,可以修改这个目录
3.修改MySQL的配置文件,添加对应的[mysql]字段:
#[mysql]部分,客户端的机子上必须配置linux/UNIX
ssl-ca
= /home/mysql/ca-cert.pem
ssl-cert
= /home/mysql/client-cert.pem
ssl-key

= /home/mysql/client-key.pem
请特别注意还有很重要的一步就是服务器授权客户端访问。
5.在服务器上以数据库root权限执行类似下面的语句:
GRANT ALL PRIVILEGES ON *.* TO 'ssluser'@'192.168.1.7'
IDENTIFIED BY 'goodsecret' REQUIRE SSL;
这样就添加了一个用户ssluser,并只允许这个用户通过192.168.1.7的IP连接服务器,且连接必须强制加密。当然我们可以指定ssluser以外的用户,goodsecet以外的密码。也可以指定只允许连接特定数据库特定的表。这不是本文的重点,就不多说了。
下一个连载将重点说明编译Apache的步骤和一些要注意的事项。后边的关于Apache的和PHP的编译恐怕进度要慢点了。请见谅!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息