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

请按照 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 )不是本机的情况:
. 请在客户机上编译安装 OpenSSl 软件和 MySQL 的客户端
. 传输 ca-cert.pem client-cert.pem client-key.pem 三个文件到客户端对应目录下,可以修改这个目录
. 修改 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
请特别注意还有很重要的一步就是服务器授权客户端访问。
. 在服务器上以数据库 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 的编译恐怕进度要慢点了。请见谅!




     本文转自xiaoyuwang 51CTO博客,原文链接:http://blog.51cto.com/wangxiaoyu/201317,如需转载请自行联系原作者



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值