3.mysql主从复制

mysql主从复制

关键词

  1. mysql 用户授权
  2. mysql bin-log日志
  3. mysql 主从复制
  4. 基本原理 是从服务器通过具有一定权限的用户去主服务器copy主服务器一定时间后>的bin-log日志,再执行bin-log日志,达到主从服务器的数据同步与互备。

1.mysql 用户授权

//1.先创建一个具有远程登录权限和要互备的数据库访问权限的账户
# 命令:
GRANT ALL ON *.* TO user_name@% IDENTIFIED BY "password";
# GRANT       授权
# ALL         所有权限 REPLICATION SLAVE(仅有主从权限)
# *           所有数据库 
# *           所有的表 
# user_name   用户
# %           再任何地方登录
# "password"  密码为password
# 此命令可以新创建一个具有所有权限的用户

//2.查看授权用户
# 命令:
USE MYSQL;
SELECT user,host FROM user;

2.mysql bin-log日志

// 开启log-bin日志 编辑mysql配置文件 添加以下内容 重启msyql
vim /usr/local/mysql/my.cnf

# log-bin日志 
log_bin=mysql-bin

// 查看log-bin日志 
#1.通过mysql变量查看 是否开启(需登录mysql)
#2.通过查看mysql data目录下的
mysql>show variables like '%binlog%';

+-----------------------------------------+----------------------+
| Variable_name                           | Value                |
+-----------------------------------------+----------------------+
| binlog_cache_size                       | 32768                |
| binlog_checksum                         | CRC32                |
| binlog_direct_non_transactional_updates | OFF                  |
| binlog_error_action                     | IGNORE_ERROR         |
| binlog_format                           | STATEMENT            |
| binlog_gtid_simple_recovery             | OFF                  |
| binlog_max_flush_queue_time             | 0                    |
| binlog_order_commits                    | ON                   |
| binlog_row_image                        | FULL                 |
| binlog_rows_query_log_events            | OFF                  |
| binlog_stmt_cache_size                  | 32768                |
| binlogging_impossible_mode              | IGNORE_ERROR         |
| innodb_api_enable_binlog                | OFF                  |
| innodb_locks_unsafe_for_binlog          | OFF                  |
| max_binlog_cache_size                   | 18446744073709547520 |
| max_binlog_size                         | 1073741824           |
| max_binlog_stmt_cache_size              | 18446744073709547520 |
| simplified_binlog_gtid_recovery         | OFF                  |
| sync_binlog                             | 0                    |
+-----------------------------------------+----------------------+
19 rows in set (0.00 sec)

3.主从复制

#mysql主从复制的优点主要包括以下3个方面:
#1.如果主服务器出现问题,可以快速切换到从服务器提供服务
#2.可以在从服务器上执行查询操作,降低主服务器的访问压力
#3.可以在从服务器上执行备份,以避免备份期间影响主服务器的服务
主服务器配置
1.)登录mysql服务器
2.)给从服务器设置授权用户
3.)修改主数据库服务器的配置文件my.cnf,开启binlog,并设置serverid的值
log-bin=mysql-bin
server-id=1
4.)在主服务器上设置读锁定有效,确保没有数据库操作,以便获得一个一致性的快照
mysql>flush tables with read lock;

从服务器配置
1.)在从服务器输入以下命令
mysql>change master to master_host='123.207.92.11',master_user='randolfjay',master_password='dh977094',master_log_file='mysql-bin.000002',master_log_pos=120;
#master_log_file 要同步的bin-log日志
#master_log_pos  要同步的开始点
2.)启动从服务器
mysql>start slave;
3.)查看从服务状态
mysq>show slave status;

主要看以下参数
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
注意主,从服务器的版本尽量一致
如果 master version:5.6 slave version:5.5 需要去主服务器配置 binlog_checksum =none
#这是由于5.6使用了crc32做binlog的checksum;
#当一个event被写入binary log(二进制日志)的时候,checksum也同时写入binary #log,然后在event通过网络传输到从服务器(slave)之后,再在从服务器中对其进行验证并写入#从服务器的relay log.
#由于每一步都记录了event和checksum,所以我们可以很快地找出问题所在。
#参考 http://blog.youkuaiyun.com/wantingtingting/article/details/41944047

4.)进行测试

4.主从基本操作命令

1.start slave
#启动复制线程
2.stop slave
#停止复制线程
3.show slave status
#查看从库数据库状态
4.show master logs
#查看数据库bin-log状态
5.change master to 
#动态改变主服务器的配置
6.show processlist
#查看从数据库运行进程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值