Arquivo

Textos com Etiquetas ‘MySQL’

Lighttpd com PHP + MySQL no CentOS

14, agosto, 2009

Opa,

Já faz algum tempo que eu soube do Lighttpd (através do Enderson), mas sempre utilizei o Apache como serviço de hospedagem Web nos servidores que instalo por uma simples razão, sempre me serviu muito bem, mas ultimamente eu precisava de um simples serviço Web com suporte a PHP e MySQL para hospedar um único sistema, foi quando eu resolvi testar o Lighttpd!

Primeiro, caso ainda não esteja instalado, é necessário instalar os pacotes do MySQL e PHP:

# yum install mysql mysql-server php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc

Ative o serviço do MySQL para iniciar durante o boot e inicie-o no sistema:

# chkconfig mysqld on && /etc/init.d/mysqld start

Agora é necessário alterar a senha do administrador do banco de dados MySQL, portanto execute os comandos abaixo:

# mysqladmin -u root password senha123
# mysqladmin -h hostname.servidor -u root password senha123

OBS.: Lembre-se de alterar a senha123 pela senha que deseja para o adminstrador do MySQL e altere hostname.servidor pelo hostname do seu servidor!

Agora vamos baixar e instalar o Lighttpd, para isso existem 2 formas, baixar os pacotes manualmente do repositório DAG, ou ativar o repositório DAG e instalar via YUM, eu escolhi baixar os pacotes manualmente e instalar via RPM (caso deseje a segunda opção basta dar uma olhada na fonte utilizada neste post). Execute os comandos abaixo:

# cd /tmp/
# wget -c http://dag.wieers.com/rpm/packages/lighttpd/lighttpd-1.4.18-1.el5.rf.x86_64.rpm
# wget -c http://dag.wieers.com/rpm/packages/lighttpd/lighttpd-fastcgi-1.4.18-1.el5.rf.x86_64.rpm
# rpm -Uvh lighttpd-1.4.18-1.el5.rf.x86_64.rpm
# rpm -Uvh lighttpd-fastcgi-1.4.18-1.el5.rf.x86_64.rpm

Agora iremos alterar dois arquivos de configuração, o primeiro é o php.ini que precisamos adicionar a linha abaixo no final do arquivo:

# vim /etc/php.ini

cgi.fix_pathinfo = 1

O segundo é o lighttpd.conf que precisa descomentar as linhas abaixo:

# vim /etc/lighttpd/lighttpd.conf

"mod_fastcgi",

fastcgi.server = ( ".php" =>
( "localhost" =>
(
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/bin/php-cgi"
)
)
)

Inicie o serviço do Lighttpd e ative-o na inicialização do sistema com os comandos abaixo:

# /etc/init.d/lighttpd start
# chkconfig lighttpd on

Pronto! Serviço instalado! Caso deseje crie um arquivo info.php para verificar se tudo está OK:

# vim /srv/www/lighttpd/info.php

phpinfo();
?>

Abraço!

Fonte: http://www.howtoforge.com/lighttpd_php5_mysql_centos5.0

Luiz Agostinho Linux , , , ,

Replicação MySQL no CentOS

18, junho, 2009

Opa,

Nesse post eu tentarei mostrar como fazer replicação de banco de dados MySQL no CentOS.

Primeiro devemos configurar o servidor MySQL master para “escutar” na rede local comentando as linhas abaixo do arquivo my.cnf (caso existam):

# vim /etc/my.cnf

[mysqld]
#skip-networking
#bind-address            = 127.0.0.1

Agora vamos habilitar o log do banco que desejamos replicar e informar que o servidor MySQL é o servidor master:

# vim /etc/my.cnf

[mysqld]
log-bin = /var/log/mysql/mysql-bin.log
binlog-do-db=exampledb
server-id=1

Agora criamos o diretório onde serão armazenados os logs e ajustamos as permissões:

# mkdir /var/log/mysql
# chown mysql: -R /var/log/mysql/

Reiniciamos o serviço (não o servidor):

# /etc/init.d/mysqld restart

É necessário conceder privilégios de replicação para o usuário que será utilizado:

# mysql -u root -p
Enter password:

mysql> GRANT REPLICATION SLAVE ON *.* TO ‘example’@'%’ IDENTIFIED BY ’senha_example’;
mysql> FLUSH PRIVILEGES;

Aproveite e faça um LOCK nas tabelas para poder realizar o dump (OBS.: Seu banco será “somente leitura” nesse momento):

mysql> USE exampledb;
mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;
+——————+———-+—————+——————+
| File             | Position | Binlog_Do_DB  | Binlog_Ignore_DB |
+——————+———-+—————+——————+
| mysql-bin.000001 |       98   | example |                  |
+——————+———-+—————+——————+

IMPORTANTE: Anote essas informações pois elas serão necessárias para a ativação da replicação.

mysql> quit;

Faça um dump da base para importar no servidor slave (existe outro método para importar os dados com o comando LOAD DATA FROM MASTER;, mas enquanto os dados são replicados o servidor master fará um LOCK nas tabelas até a conclusão da replicação, portanto preferi esse método):

# mysqldump -u root -p –opt exampledb > exampledb.sql
Enter password:

Retire o LOCK das tabelas:

# mysql -u root -p
Enter password:

mysql> UNLOCK TABLES;
mysql> quit;

Com isso a configuração do servidor master está pronta, agora vamos acessar o servidor slave e criar o banco:

# mysql -u  root -p
Enter password:

mysql> create database exampledb;
mysql> quit;

Copie o dump gerado da base no servidor master (no meu caso utilizei o scp e o arquivo estava no home do root):

# scp root@servidor_slave:/root/exampledb.sql .

Importe o dump no servidor slave:

# mysql -u root -p exampledb < exampledb.sql
Enter password:

Agora devemos configurar o servidor MySQL para que ele seja um servidor slave:

# vim /etc/my.cnf

[mysqld]
server-id=2
master-host=192.168.0.100
master-user=example
master-password=senha_example
master-connect-retry=60
replicate-do-db=exampledb

E reiniciar o serviço (novamente, só precisa reiniciar o serviço):

# /etc/init.d/msyqld restart

Acesse o servidor slave e execute os comandos abaixo para ativar a replicação:

# mysql -u root -p
Enter password:

mysql> SLAVE STOP;
mysql> CHANGE MASTER TO MASTER_HOST=’192.168.0.100′, MASTER_USER=’example’, MASTER_PASSWORD=’senha_example’, MASTER_LOG_FILE=’mysql-bin.000001′, MASTER_LOG_POS=98;
mysql> START SLAVE;
mysql> quit;

OBS.: MASTER_LOG_FILE é o nome do arquivo de log (File) que foi exibido no comando SHOW MASTER STATUS no servidor master e MASTER_LOG_POS é a posição (Position) que foi exibida com o mesmo comando.

Verificando no log do servidor slave:

# tail -f /var/log/mysqld.log
—– inicio do log —–
090617 10:17:03 [Note] Slave SQL thread initialized, starting replication in log ‘mysql-bin.000001′ at position 98, relay log ‘/var/run/mysqld/mysqld-relay-bin.000001′ position: 4
090617 10:17:03 [Note] Slave I/O thread: connected to master ‘replica@192.168.0.100:3306′,  replication started in log ‘mysql-bin.000001′ at position 98
—– fim do log —–

Pronto! Provavelmente a replicação já deve estar funcionando, bastando realizar os testes no banco master e verificar se os dados estão sendo replicados no servidor slave.

Fonte: http://www.howtoforge.com/mysql_database_replication

Luiz Agostinho Linux , ,