Задавайте вопросы, мы ответим
Вы не зашли.
Доброго времени суток!
У меня стоит debian 7
установил php5-mysqlnd
установил ssl для БД
mkdir /etc/mysql/ssl && cd /etc/mysql/ssl/
openssl genrsa 2048 > mysql-ca-key.pem
openssl req -new -x509 -nodes -days 3660 -key mysql-ca-key.pem -out mysql-ca-cert.pem
openssl rsa -in mysql-ca-key.pem -out mysql-ca-key.pem
openssl req -newkey rsa:2048 -days 3660 -nodes -keyout mysql-server-key.pem -out mysql-server-req.pem
openssl rsa -in mysql-server-key.pem -out mysql-server-key.pem
openssl x509 -req -in mysql-server-req.pem -days 366 -CA mysql-ca-cert.pem -CAkey mysql-ca-key.pem -set_serial 01 -out mysql-server-cert.pem
openssl verify -CAfile mysql-ca-cert.pem mysql-server-cert.pem
в my.cnf
[mysql]
ssl-ca=/etc/mysql/ssl/mysql-ca-cert.pem
ssl-cert=/etc/mysql/ssl/mysql-server-cert.pem
ssl-key=/etc/mysql/ssl/mysql-server-key.pem
[mysqld]
ssl-ca=/etc/mysql/ssl/mysql-ca-cert.pem
ssl-cert=/etc/mysql/ssl/mysql-server-cert.pem
ssl-key=/etc/mysql/ssl/mysql-server-key.pem
в БД
CREATE USER 'cluster_user'@'%' IDENTIFIED BY 'password';
CREATE USER 'cluster_user'@'localhost' IDENTIFIED BY 'password';
GRANT USAGE ON *.* TO 'cluster_user'@'%' REQUIRE SSL;
GRANT USAGE ON *.* TO 'cluster_user'@'localhost' REQUIRE SSL;
FLUSH PRIVILEGES;
напрямую к бд подключается.
mysql -ucluster_user -ppassword
Теперь самое интересное.
создал файл для проверки подключения к БД из php
<?php
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
$user = "cluster_user";
$password = "password";
$database = "super_db";
$host = "localhost";
$ssl = array(
PDO::MYSQL_ATTR_SSL_KEY =>'/etc/mysql/ssl/mysql-server-key.pem',
PDO::MYSQL_ATTR_SSL_CERT=>''/etc/mysql/ssl/mysql-server-cert.pem',
PDO::MYSQL_ATTR_SSL_CA =>''/etc/mysql/ssl/mysql-ca-cert.pem'
);
try {
$dbl = new PDO("mysql:host=$host;dbname=$database", $user, $password, $ssl);
$dbl->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo $e->getMessage();
die;
}
Ошибки
Warning: PDO::__construct(): this stream does not support SSL/crypto in /var/www/info2.php on line 17
Warning: PDO::__construct(): Cannot connect to MySQL by using SSL in /var/www/info2.php on line 17
Warning: PDO::__construct(): [2002] (trying to connect via unix:///var/run/mysqld/mysqld.sock) in /var/www/info2.php on line 17
SQLSTATE[HY000] [2002]
в чем проблема?
this stream does not support SSL/crypto не пойму, ему что не нравится метод шифрования? Возможно я не так создал ssl? Помогите мне решить эту проблему!!!
Отредактированно saifuddin (09.11.2015 02:16:42)
Неактивен
localhost заменить на 127.0.0.1 и все будет работать. Тема закрыта!
Неактивен