2012-02-04 15 views
7

Tengo un certificado de CA de la base de datos mysql con la que intento conectarme (está en rds de Amazon). No puedo encontrar un buen ejemplo de cómo conectarme a la base de datos mysql usando la función mysql_connect() de php, y usar ese certificado ca (almacenado en /home/username/mysql_ca_cert.pem) para conectarme.Cómo usar la configuración MYSQL_CLIENT_SSL con mysql_connect() en PHP?

¿Alguien podría ayudarme con un simple ejemplo?

+1

aconsejaría contra el uso de la mysql_ * funciones, uso o mysqli DOP lugar. – GordonM

+0

@GordonM, ¿qué ocurre con las funciones de mysql_ *? – eric

+0

Están desactualizados, no se han actualizado para aprovechar las características ofrecidas por mysql 5, y están en desuso en todo menos en el nombre. – GordonM

Respuesta

0

Esto conectará con el ssl cert servidores del 2048 es la clave

$link=mysql_connect(host, user, password,true,2048); 
+2

'2048' =' MYSQL_CLIENT_SSL'? – Shoe

+1

@Mark Allen, ¿cómo puedo conectar esto con mi archivo de certificado ssl ubicado en /home/username/mysql_ca_cert.pem? – eric

+0

Echa un vistazo al último mensaje. http://stackoverflow.com/questions/1778977/encrypting-mysql-traffic-in-scripts –

-1
$db = mysqlii_init(); 
$db->ssl_set('server-key.pem','server-cert.pem', 'cacert.pem', NULL, NULL); 
$db->real_connect('localhost','root','','mydb'); 

y después por supuesto

$db->close(); 

espero que ayude :)

1

mysql_connect() es depreciado y altamente pirateable. Para usarlo es el último en la tonta

<?php 
$pdo = new PDO('mysql:host=ip;dbname=db', 'user', 'pass', array(
    PDO::MYSQL_ATTR_SSL_KEY =>'/etc/mysql/ssl/client-key.pem', 
    PDO::MYSQL_ATTR_SSL_CERT=>'/etc/mysql/ssl/client-cert.pem', 
    PDO::MYSQL_ATTR_SSL_CA =>'/etc/mysql/ssl/ca-cert.pem' 
    ) 
); 
$statement = $pdo->query("SHOW TABLES;"); 
$row = $statement->fetch(PDO::FETCH_ASSOC); 
echo htmlentities($row['_message']); 
?> 

http://www.php.net/manual/en/book.pdo.php

Cuestiones relacionadas