Actualmente tengo una instancia de mysql 3306
[root @ lzl ~] # service mysqld status
MySQL en ejecución (1782) [OK]
[root @ lzl ~] # ps -ef | grep mysql
root 1603 1 0 Jul22? 00:00:00 / bin / sh / usr / local / mysql / bin / mysqld_safe --datadir = / data / mysql --pid-file = / data / mysql / lzl.pid
mysql 1782 1603 0 Jul22? 00:00:46 / usr / local / mysql / bin / mysqld --basedir = / usr / local / mysql --datadir = / data / mysql --plugin-dir = / usr / local / mysql / lib / plugin - -user = mysql --log-error = / data / mysql / mysql.log --pid-file = / data / mysql / lzl.pid --socket = / tmp / mysql.sock --port = 3306
Quiero configurar un mysql maestro-esclavo, necesito instalar la base de datos de respaldo, configuración de parámetros, inicialización de los datos de la base de datos de respaldo, iniciar la sincronización maestro-esclavo
1. Instale la base de datos en espera
1.1 Colocación cnf
Configuración cnf: copie directamente algunas configuraciones de la configuración maestra
主 : /etc/my.cnf
[mysqld]
datadir = / data / mysql
socket = /tmp/mysql.sock
character_set_server = utf8
default-time-zone = '+08: 00'
port = 3306
log-bin = master-bin
log-bin-index = master-bin.index
id-servidor = 01
[mysqld_safe]
log-error = / data / mysql / mysql.log
pid-file = / data / mysql / mysqld.pid
备 : /etc/my3308.cnf
[mysqld]
basedir = / usr / local / mysql
datadir = / data / mysql3308
socket = / tmp / mysql3308sock
character_set_server = utf8
default-time-zone = '+08: 00'
puerto = 3308
usuario = mysql
id-servidor = 02
índice
-registro-relé = bin -relé-esclavo.index registro-relé = bin-relé-esclavo
[mysqld_safe]
log-error = / data / mysql3308 / mysql.log
pid-file = / data / mysql3308 / mysqld.pid
basedir = / usr / local / mysql
user = mysql
1.2 Crear un directorio en la configuración cnf de la base de datos en espera
mkdir / data / mysql3308
chown mysql: mysql / data / mysql3308
1.3 Inicialización
/ usr / local / mysql / bin / mysqld --defaults-file = / etc / my3308.cnf --initialize
1.4 Iniciar la base de datos en espera
mysqld_safe --defaults-file = / etc / my3308.cnf &
2 configuración de parámetros activos y en espera
2.1 Configurar parámetros maestros
[mysqld]
log-bin = master-bin
log-bin-index = master-bin.index
server-id = 1001
Reinicie 3306 mysqld
2.2 Configurar los parámetros del esclavo
[mysqld]
relé-log = esclavo-relé-bin
relé-log-index = esclavo-relé-bin.index
servidor-id = 1002
Reinicie 3308 mysqld
(Puede usar mostrar variables como '% bin%' y mostrar variables como '% servidor%' para verificar si los parámetros maestro-esclavo son efectivos)
2.3 maestro crear usuario
crear replicador de usuario @ '%' identificado por 'oráculo';
conceder selección, replicación esclava, super, recarga, replicación cliente en *. * al replicador;
privilegios de descarga;
3 Inicialización de datos
3.1 bloquear tablas
Inicie sesión en las tablas de bloqueo de la biblioteca maestra, prohíba los cambios de datos durante la fase de exportación, para garantizar la coherencia de los datos
mysql> flush tables with read lock; - El bloqueo se liberará cuando se desconecte la ventana
3.2 Registrar la posición de inicio de la copia
Registre el archivo binlog y la ubicación del maestro
mostrar estado maestro \ G
*************************** 1. fila ************** ************
Archivo: master-bin.000002
Posición: 154
Binlog_Do_DB:
Binlog_Ignore_DB: Executed_Gtid_Set
:
1 fila en el conjunto (0.00 seg)
3.3 Exportación lógica
mysqldump -A -h127.0.0.1 -P3306 -uroot -poracle> /tmp/source.sql
3.4 Desbloquear mesa
desbloquear tablas; - Una vez completada la exportación, no es necesario bloquear la tabla
4 construcción esclava
4.1 Importar datos de inicialización de la base de datos en espera
mysql -h127.0.0.1 -P3308 -uroot -poracle </tmp/source.sql
4.2 cambiar maestro
cambiar master a
master_host = '127.0.0.1',
master_port = 3306,
master_user = 'replicator',
master_password = 'oracle',
master_log_file = 'master-bin.000002',
master_log_pos = 154;
4.3 Iniciar esclavo
iniciar esclavo;
5 Verifique la sincronización
Inicio de sesión en base de datos en espera
mysql> mostrar estado de esclavo \ G
************************** 1. fila ************* **************
Slave_IO_State: Esperando que el maestro envíe el evento
Master_Host: 127.0.0.1
Master_User: replicador
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master-bin.000002
Read_Master_Log_Pos: 154
Relay_Log_File: esclavo- relay-bin.000002
Relay_Log_Pos: 321
Relay_Master_Log_File: master-bin.000002
Slave_IO_Running: Sí
Slave_SQL_Running: Sí