mysql 主库有数据通过锁库做主从

[email protected][(none)]> grant replication slave on *.* to ‘repl‘@‘192.168.1.177‘ identified by ‘xxx‘;
Query OK, 0 rows affected (0.01 sec)  

--全局读锁
[email protected][(none)]> flush tables with read lock;
Query OK, 0 rows affected (0.02 sec)  

[email protected][(none)]> system pwd
/data/inst3406  

--获取master binlog位置
[email protected][(none)]> show master status;
+--------------------+----------+--------------+------------------+-------------------+
| File               | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+--------------------+----------+--------------+------------------+-------------------+
| inst3406bin.000001 |     2169 |              |                  |                   |
+--------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)  

--使用mysqldump导出实例
[email protected][(none)]> system mysqldump -uroot -pxxx -S /tmp/mysql3406.sock --routines --all-databases --opt >alldb.sql  

[email protected][(none)]> system ls
alldb.sql  data3406    

--解锁
[email protected][(none)]> unlock tables;  

[email protected][(none)]> exit  

--从库上面导入dump
[[email protected] inst3406]$ mysql -uroot -pxxx -S /tmp/mysql3506.sock <alldb.sql  

--从库上设置主库的相关信息(host,port等等)
[[email protected] inst3506]$ mysqls
[email protected][(none)]> change master to
    -> MASTER_HOST=‘192.168.1.177‘,
    -> MASTER_USER=‘repl‘,
    -> MASTER_PASSWORD=‘xxx‘,
    -> MASTER_PORT=3406,
    -> MASTER_LOG_FILE=‘inst3406bin.000001‘,
    -> MASTER_LOG_POS=2169;
Query OK, 0 rows affected, 2 warnings (0.01 sec)  

--启动slave
[email protected][(none)]> start slave;  

部分从库

[email protected][(none)]> grant replication slave on *.* to ‘repl‘@‘192.168.1.177‘ identified by ‘xxx‘;
Query OK, 0 rows affected (0.01 sec)  

--全局读锁
[email protected][(none)]> flush tables with read lock;
Query OK, 0 rows affected (0.02 sec)  

[email protected][(none)]> system pwd
/data/inst3406  

--获取master binlog位置
[email protected][(none)]> show master status;
+--------------------+----------+--------------+------------------+-------------------+
| File               | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+--------------------+----------+--------------+------------------+-------------------+
| inst3406bin.000001 |     2169 |              |                  |                   |
+--------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)  

--使用mysqldump导出实例
[email protected][(none)]> system mysqldump -uroot -pxxx -S /tmp/mysql3406.sock --routines --all-databases --opt >alldb.sql  

[email protected][(none)]> system ls
alldb.sql  data3406    

--解锁
[email protected][(none)]> unlock tables;  

[email protected][(none)]> exit  

--从库上面导入dump
[[email protected] inst3406]$ mysql -uroot -pxxx -S /tmp/mysql3506.sock <alldb.sql  

--从库上设置主库的相关信息(host,port等等)
[[email protected] inst3506]$ mysqls
[email protected][(none)]> change master to
    -> MASTER_HOST=‘192.168.1.177‘,
    -> MASTER_USER=‘repl‘,
    -> MASTER_PASSWORD=‘xxx‘,
    -> MASTER_PORT=3406,
    -> MASTER_LOG_FILE=‘inst3406bin.000001‘,
    -> MASTER_LOG_POS=2169;
Query OK, 0 rows affected, 2 warnings (0.01 sec)  

--启动slave
[email protected][(none)]> start slave;  
时间: 2024-10-09 06:13:47

mysql 主库有数据通过锁库做主从的相关文章

004.MySQL主库手动复制至从库

一 主库手动复制至从库 1.1 Master主库锁表 1 mysql> flush tables with read lock; 2 Query OK, 0 rows affected (0.00 sec) 1.2 主库备份 1 [[email protected] ~]# mysqldump -uroot -p -B mydb > master.sql 说明:-B参数有建库语句. 1.3 从库导入数据库 1 [[email protected] ~]# mysql -uroot -padmi

mysql跨服务器数据增量同步的解决方案

说明:由于本人的实际情况是不能修改线上对数据引擎的支持,并且只是为了同步部分表,因此没必要将两个库做主从,因此采用以下的方式进行解决 对于跨服务器同步增量导数据的问题, 本可以使用:select * into outfile "/home/yls/my.log" fields terminated by ',' lines terminated by '\\n' from test where id>=(select max(maxId) from maxIdTable;但是由于

mysql主库数据导入从库

mysql 主库数据导入到从库 1.主库数据导出 #msyqldump -uroot -p123456 -S /tmp/mysql.sock -A --events -B -x --master-data=1|gzip >/opt/$(date +%F_%T).sql.gz 2.从库导入数据库 拷贝备份的数据库,并导入到从库中. #scp [email protected]:/opt/$(date +%F_%T).sql.gz /sqlbak/Address 172.16.1.9 maps to

MySQL主库主动推送binlog到从库

在观看老男孩老师的教学视频时,讲到从库请求主库发送数据,但想想于理不合,如果每次都是从库请求才更新数据,那就不能实时更新,对于一些比较"安静"的数据库也是浪费资源. 经抓包实验后,发现如下,算是对老师讲解的一点补充 [[email protected] ~]# tcpdump -w 1.pcap 'host 192.168.199.211 and host 192.168.199.230' #192.168.199.211是主库,192.168.199.230是从库 当从库开始star

主库添加数据文件后,备库因为创建文件失败而停止数据同步

primary环境:11gR2 RAC+ASMstandby环境:本地单机 主库添加数据文件后,备库因为创建文件失败而停止数据同步. 1.查看主库环境的数据文件 SQL> select file#,status,name from v$datafile; FILE# STATUS NAME ---------- ------- -------------------------------------------- 1 SYSTEM +ABCE/test/datafile/system.293.

模拟主库创建数据文件,dg备库空间不足时问题处理

本篇文档测试目的: 模拟实际环境中,主库对表空间添加数据文件,备库空间不足,最终导致MRP进程自动断开,处理方式. 1.问题环境模拟 1)正常情况下的dg 主库创建数据文件,备库接受日志,自动创建表空间及数据文件. RFS[49]: Selected log 4 for thread 1 sequence 115 dbid 699220720 branch 994543603 Fri Feb 22 23:20:36 2019 Media Recovery Log /u01/app/oracle/

mysql主库 备份库怎么同步

在两台服务器上安装mysql#apt-get install mysql-server -y 创建同步帐户我这里就直接使用的数据库默认用户root在ubuntu4上: mysql> grant replication slave on *.* to 'root'@'192.168.2.5' identified by '12345678'; mysql> flush privileges; 在ubuntu5上: mysql> grant replication slave on *.*

不停MySQL服务情况下增加从库两种常用方式

现在生产环境MySQL数据库是一主一从,由于业务量访问不断增大,故再增加一台从库.前提是不能影响线上业务使用,也就是说不能重启MySQL服务,为了避免出现其他情况,选择在网站访问量低峰期时间段操作. 一般在线增加从库有两种方式,一种是通过mysqldump备份主库,恢复到从库,mysqldump是逻辑备份,数据量大时,备份速度会很慢,锁表的时间也会很长.另一种是通过xtrabackup工具备份主库,恢复到从库,xtrabackup是物理备份,备份速度快,不锁表.为什么不锁表?因为自身会监控主库日

转摘: MySQL详解--锁

原文 http://blog.csdn.net/xifeijian/article/details/20313977 InnoDB锁问题 InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION):二是采用了行级锁.行级锁与表级锁本来就有许多不同之处,另外,事务的引入也带来了一些新问题.下面我们先介绍一点背景知识,然后详细讨论InnoDB的锁问题. 背景知识 1.事务(Transaction)及其ACID属性 事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性