mysql5.5主从配置
2015-11-14 21:29
543 查看
1.序
服务器为ubuntu,主数据库ip为192.168.37.101,从数据库ip地址为192.168.37.1022.配置主库master同步复制时的选项
在mysql的配置文件中开启以下选项server-id = 1 服务id
log_bin = mysql-bin 开启二进制日志文件
expire_logs_days = 10 日志过期时间(天)
max_binlog_size = 500M 单个日志最大空间
binlog_do_db = test 需要复制的数据库,如果复制多个添加新行即可
binlog_ignore_db = mysql 不需要进行复制的数据,如果需要忽略多个添加新行即可
重启mysql服务 sudo service mysql restart
可以通过pgrep mysql命令查看mysql是否启动成功
3.在主库master上创建同步复制时的用户并授权
创建用户CREATE USER ‘slave’@’%’ IDENTIFIED BY ‘111111’;
授权
GRANT REPLICATION SLAVE ON . TO ‘slave’@’%’;
查看是否授权成功
select user,repl_slave_priv from user where user=’slave’;
在slave机器上测试是否可以连接master
mysql -h 192.168.37.101 -uslave -p111111
4.主库master锁表
flush tables with read lock;注意:目前这个锁表的终端不要退出,否则这个锁就失效了,对于下面的操作可另开终端。
5.记录主库master的binlog文件名以及pos位置节点
show master status;+——————+———-+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000001 | 107 | test | mysql |
+——————+———-+————–+——————+
1 row in set (0.00 sec)
注意:在从数据库操作时候用得到文件名和位置,文件名是说读取主数据库的那个二进制文件来进行同步,从二进制文件的哪个位置开始
6.导出需要同步的数据库
第一种方法就是在主库锁表后,使用tar把master库直接打包,然后使用scp或者rsync把该打包文件弄到从库slave上第二种方法就是在主库锁表后,我们直接使用mysqldump命令导出数据库,然后在从库上进行恢复。
注意以上两种方法,我们都需要进行在主库master锁表后进行操作。
通过第二种方法来导出需要同步的数据库,如下:
sudo mysqldump -uroot -p111111 test>test.sql
可以通过cat命令查看导出
通过scp命令把sql文件复制到slave机器上
sudo scp test.sql wjm@192.168.37.102:/home/wjm
7.配置从库slave同步复制时所需要的选项
在mysql的配置文件中开启以下选项server-id = 2
重启mysql服务 sudo service mysql restart
可以通过pgrep mysql命令查看mysql是否启动成功
8.在从库slave上创建数据库需要同步的数据库并导入备份
创建数据库CREATE DATABASE IF NOT EXISTS test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
导入数据
mysql -uroot -p111111 test < /home/wjm/test.sql
9. 解锁主库master表
unlock tables;10.设置从库slave与主库master同步
可先执行 stop slave命令change master to master_host=’192.168.37.101’,
master_user=’slave’,
master_password=’111111’,
master_log_file=’mysql-bin.000001’,
master_log_pos=107,
master_connect_retry=100;
master_host表示是主库的IP
master_user表示主库master上允许同步的用户
maser_password表示同步用户的密码
master_log_file表示从哪个binlog文件开始同步
master_log_pos表示从该binlog文件的那个pos节点位置开始同步
master_connect_retry当重新建立主从连接时,如果连接建立失败,间隔多久后重试
11.在从库slave上开启同步
start slave;可用命令show slave status\G;检查,同步是否正常。
查看同步是否主要是查看Slave_IO_Running与Slave_SQL_Running选项。
如果正常同步,这两选必须同时为YES。
如果Slave_IO_Running为NO,说明可能是从库与主库的网络不通。
如果Slave_SQL_Running为NO,说明很可能是从库与主库的数据不一致。
相关文章推荐
- win64,mysql5.7.9安装
- Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips
- mysql group by 用法解析
- 监听mysql是否挂了
- MySQL常用命令
- mysql常用命令
- mysql服务的注册,启动、停止、注销。 [delphi代码实现]
- mysql select into 用法
- redhat7安装mysql-server(mysqld)
- Mysql索引介绍及常见索引类别(主键索引、唯一索引、普通索引、全文索引、组合索引)的区别
- MySQL 查询case
- MySQL常用操作
- MySQL存储引擎总结
- MYSQL卸载
- hive配置mysql元数据
- mysql使用笔记:常用的数据库命令
- 如何在 MySQL 中判断中文字符?
- MySQL数字类型中的三种常用种类
- mysql命令行备份数据库
- mysql使用笔记:有则更新,无则插入