Então, depois de receber erros sobre a falta de mysqlnd.h, mudei para o repositório DotDeb e reconstruí o servidor de nuvem a partir do zero. Depois disso, o plugin compilado.
Eu instalei o php5-mysqlnd via:
apt-get install php5-mysqlnd
Esta é uma nova instalação virgem do Debian com apenas apache2 e php5 via:
apt-get install apache2
echo "deb http://http.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list
apt-get update
apt-get install php5 php5-dev php5-cli libapache2-mod-php5 php5-mysqlnd
Quando eu faço um phpinfo () ele mostra que o mysqlnd está sendo usado.
A minha pergunta é, onde coloco detalhes de configuração para especificar os detalhes do mestre / escravo para que eu possa usar o balanceamento automático de carga e a divisão de leitura / gravação?
Eu li e segui: link
Eu adicionei:
mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/etc/php5/mysqlnd_ms_plugin.ini
Para /etc/php5/conf.d/10-mysqlnd.ini
Que agora diz:
; configuration for php MySQL module
; priority=10
extension=mysqlnd.so
mysqlnd_ms.enable=1
mysqlnd_ms.config_file=/etc/php5/mysqlnd_ms_plugin.ini
Infelizmente, essas configurações não parecem ter feito nenhuma diferença, pois não posso fazer um mysql_connect () usando o hostname "myapp" como o nome da seção que eu configurei em /etc/php5/mysqlnd_ms_plugin.ini como:
{
"myapp": {
"master": {
"master_0": {
"host": "127.0.0.1",
"port": "3306"
}
},
"slave": {
"slave_0": {
"host": "10.0.0.1",
"port": "3306"
}
}
}
}
Alguém pode esclarecer onde eu errei a configuração e o que eu posso fazer para que ela funcione, para que eu possa me conectar usando a divisão de leitura / gravação usando meus bancos de dados replicados?
EDIT: Após o comentário abaixo, percebi que eu não tinha realmente adicionado o plugin mysqlnd_ms. Depois de tentar instalar este plugin via pecl eu recebo um erro sobre mysqlnd.h falta.
você não precisa apenas do php5-mysqlnd, mas também do plugin mysqlnd_ms ( link ) instalado.
Tags mysql debian php5 mysql-replication