|
|||||||
| Wiki | Classificados | Galeria | Reviews | Jogos | Comunidades | RSS Feeds | FAQ | Termos de Uso | Sobre |
| Cadastre-se | Fotos | Blogs | Lista de Membros | Calendário | Pesquisar | Mensagens de Hoje | Marcar Fóruns Como Lidos |
FerramentasPublicidade |
From UnderLinux Wiki
[editar] How-to de replicação em MySQL em 6 passosDesenvolvido por: Rafael M. Capovilla - 1c3_m4n - iceman (a) at underlinux.com.br Atenção estes resultados foram obtidos utilizando-se o MySQL 3.23.54 entre um Slackware 8.1 (SLAVE) kernel 2.4.20 e um RedHat 7.3 (MASTER) kernel 2.4.18 e MySQL 3.23.52. E os diretórios são os da minha máquina, pode ser que na sua seja um pouco diferente. Antes de partir para a configuração temos q se conectar no mysql que será o server e executar: NOTA: É recomendável que tanto o slave como o master tenham a mesma versão do MySQL [editar] Passos no MASTER[1c3_m4n@box] mysql -p Enter password: ********** Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 285 to server version: 3.23.52-log Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql> GRANT FILE ON *.* TO USARIO@HOST_SLAVE IDENTIFIED BY 'SENHA'; Query OK, 0 rows affected (0.10 sec) mysql> quit Bye [1c3_m4n@box]/etc/rc.d/init.d/mysqld stop [1c3_m4n@box]cd /var/lib/mysql/minha_tabela [1c3_m4n@box]tar -czvf minhatabela.tar.gz * [editar] Passos no SLAVE
[1c3_m4n@slave]cd /usr/local/mysql/data/ [1c3_m4n@slave]./bin/mysql -p Enter password: ********** Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 285 to server version: 3.23.52-log Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql> create database minhatabela; Query OK, 1 row affected (0.00 sec) mysql> quit [1c3_m4n@slave]cd minhatabela [1c3_m4n@slave]killall mysqld [1c3_m4n@slave]tar -zxvf ../minhatabela.tar.gz [editar] Configurações do /etc/my.cnf3) passo SLAVE [mysqld] master-host=192.168.1.1 #host do servidor master-user=rafael #usuario no servidor master-password=1c3_m4n #senha no servidor master-connect-retry=60 #tempo pra tentar reconectar server-id=2 #identificacao log-slave-updates #registra em log as atualizacoes da replicacao log=/usr/local/mysql/data/mysql.log #diretorio de log de todas os comandos executados no mysql [safe_mysqld] err-log=/usr/local/mysql/data/mysql.err #log de erros MASTER [mysqld] log-bin=/var/lib/mysql/binlog/mysql_bin.log #registra os logs binários as replicações server-id=1 #identificação binlog-do-db = minha_tabela #tabela a ser usada para replicação #caso deseje atualizar todas as tabelas menos uma deve-se #usar a variavel binlog-ignore-db=TABELA no lugar da binlog-do-db log=/var/log/mysqld.log #local onde serão registrados os logs do mysql [safe_mysqld] err-log=/var/log/mysqld.err #log erros do mysql [editar] Iniciando MySQLInicie o mysql no servidor e depois no slave; [editar] Checando o MySQLVamos checar agora se o slave está funcionando corretamente: [1c3_m4n@slave]cd /usr/local/mysql/data/ [1c3_m4n@slave]./bin/mysql -p Enter password: ********** Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 285 to server version: 3.23.52-log Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql> show slave status; Master_Host | Master_User | Master_Port | Connect_retry | Log_File | Pos | Slave_Running | Replicate_do_db | Replicate_ignore_db | Last_errno | Last_error | Skip_counter | 192.168.1.1 | rafael | 3306 | 60 | dexter-bin.001 | 562 | Yes | | | 0 | | 0 | 1 row in set (0.00 sec) Se aparecer na coluna "Slave_Running" parabéns, vc conseguiu!!! caso contrário de uma olhada nos logs de erro para ver a razão disso. [editar] Incluindo dadosAgora insira ou altere algum valor no master e veja se também foi replicado para o slave 7) Para ver os logs binários de replicação vc vai ter que se conectar ao servidor master e executar: [1c3_m4n@box]mysqlbinlog /var/lib/mysql/binlog/LOG_BINARIO |