1 系统规划
1.1 mysql版本
Mysql版本 |
mysql-5.5.51 |
1.2 服务器地址
服务器地址 |
10.180.2.167 |
1.3 mysql目录
主库 |
||
Mysql软件目录 |
/mysql1 |
|
Mysql数据目录 |
/mysql1/data |
|
Mysql端口 |
3306 |
|
从库 |
||
Mysql软件目录 |
/mysql2 |
|
Mysql数据目录 |
/mysql2/data |
|
Mysql端口 |
3307 |
2 主从配置
2.1 在主库上设置一个复杂使用的账号
grant replication slave on *.* to 'rep1'@'10.180.2.167' identified by '12345test';
2.2 修改my.cnf文件
[mysqld]
log-bin=/mysql1/data
server-id=1
重启mysql
2.3 在主库上设置读锁有效
flush tables with read lock;
2.4 获得主库上二进制日志名和偏移量
show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 1233 | | |
+------------------+----------+--------------+------------------+
2.5 备份数据库
tar -cvf data.tar data
2.6 恢复数据库写操作
unlock tables;
2.7 将数据库恢复到从库
mv data.tar /mysql2
2.8 配置从库的my.cnf
[mysqld]
server-id=2
2.9 在从库上使用--skip-slave-start启动从数据库
[root@mysql mysql2]# ./bin/mysqld_safe --skip-slave-start &
2.10 配置从数据库
mysql> change master to
-> master_host='10.180.2.167',
-> master_port=3306,
-> master_user='rep1',
-> master_password='12345test',
-> master_log_file='mysql-bin.000003',
-> master_log_pos=1233;
2.11 启动slave线程
start slave;
2.12 测试
主库:
从库: