LOAD DATA FROM MASTER
Tira uma cópia do master para o slave. Atualiza os valores de
MASTER_LOG_FILE
e
MASTER_LOG_POS
assim o slave será iniciado
replicando da posição correta. Respeitará a regras de
exclusão de tabelas e bancos de dados especificadas com as
opções replicate-*
.
O uso desta instrução está sujeito ao seguinte:
Funciona apenas com tabelas MyISAM
.
Ele adquire um lock de leitura global no master enquanto tira um instantâneo, que evita atualizações no master durante esta operação.
No futuro está planejado fazê-lo funcionar com tabelas
InnoDB
e remover a necessidade de lock
deleitura global usando o recurso de backup online sem
bloqueio.
Se você estiver carregando tabelas grandes, você pode
aumentar os valores de net_read_timeout
e
net_write_timeout
no mestre e no slave.
Veja Secção 4.6.8.4, “SHOW VARIABLES
”.
Note que LOAD DATA FROM MASTER
NÂO copia nenhuma tabela do
banco de dados mysql
. Isto é para tornar
facil de se ter diferentes usuários e privilégios no master
e no slave.
Esta instrução exige que o usuário de replicação usado
para se conectar ao master tenha privilégios
RELOAD
e SUPER
no
master, privilégios SELECT
em todas as
tabelas do master que você queira carregar. Todas as tabelas
do master nas quais os usuários não tenham privilégio
SELETC
serão ignoradas pelo LOAD
DATA FROM MASTER
; isto ocorre porque o master irá
esconde-los do usuário: LOAD DATA FROM
MASTER
chama SHOW DATABASES
para
saber qual banco de dados do master carregar, mas
SHOW DATABASES
retorna apenas o banco de
dados nos quais o usuário tem algum privilégio. Veja
Secção 4.6.8.1, “Recuperando Informações sobre Bancos de Dados, Tabelas, Colunas e
Índices”. No lado do slave, o
usuário que executa LOAD DATA FROM MASTER
deve ter permissão para apagar e criar o banco de dados e
tabelas envolvidos.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.