准备两个ubuntu系统:
主:192.168.226.132
从: 192.168.226.133
建议更换ubuntu源为阿里源,增加安装速度
安装mysql:
apt-get install mysql-server mysql-client
开启mysql远程连接,先设置my.cnf文件,将
bind-address=127.0.0.1注释掉,或者改为0.0.0.0,然后重启mysql服务,查看端口信息netstat -anp| grep 3306是否还是绑定127.0.0.1,是则杀掉该进程,进程自动重启后就好了。
开始配置主从数据库:
主库:
修改my.cnf,加上
server-id=1
log-bin=mysqlmaster-bin.log
sync_binlog=1
innodb_buffer_pool_size=512M
innodb_flush_log_at_trx_commit=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
lower_case_table_names=1
log_bin_trust_function_creators=1
配置完,重启mysql服务
增加远程登录账号:
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.226.133' IDENTIFIED BY '111111';
flush privileges;
主库锁表:
flush tables with read lock;
查看master status:
show master status; 记录File和position字段
将主数据库信息导出,然后在从数据导入,保证主从数据一致
解开锁定 unlock tables;
从库:
修改my.cnf , 增加
server-id=2
log-bin=mysqlslave-bin.log
sync_binlog=1
innodb_buffer_pool_size=512M
innodb_flush_log_at_trx_commit=1
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
lower_case_table_names=1
log_bin_trust_function_creators=1
配置完进行重启
设置从数据库和主数据库同步
change master to master_host = '192.168.226.132',master_user='repl',master_password='111111',master_log_file='mysqlmaster-bin.000001',master_log_pos=327;
启动从数据库复制进程
start slave;
查看状态:
show slave status\G;
保证slave_io_running和slave_sql_running为yes即可,如果不是,请从权限,远程连接限制入手,查看是否出现问题。