mysql主从复制

一,将主库复制到从库
1. 主,从数据库都已经安装(略);

2. 修改后主库my.cnf配置文件
[mysqld]
port=3306                                 #端口(主从指定)
socket=/tmp/mysql.sock                      
datadir=/u01/mysqlall/mysql5742/data      #数据文件所在位置
user=mysql                                #用户
max_connections=200                       #最大链接数
#bind-address=127.0.0.1                   #必要时绑定IP地址
character-set-server=utf8mb4              #数据库字符集
collation-server=utf8mb4_unicode_ci
innodb_buffer_pool_size=128M
query_cache_size=0                        # MySQL 8.0中已废弃此选项
max_allowed_packet=16M
lc-messages-dir=/u01/mysqlall/mysql5742/mysql5742/share/english/
pid-file=/u01/mysqlall/mysql5742/data/mysqld.pid
log-error=/u01/mysqlall/mysql5742/data/error.log  # 错误日志 
tmpdir=/tmp
explicit_defaults_for_timestamp=on
secure-file-priv=/u01/mysqlall/mysql5742/mysql5742/lib/mysql-files
#skip-grant-tables

secure_file_priv=''
server_id=5742                          #指定数据库唯一ID
log-bin=/u01/mysqlall/mysql5742/data/log-bin/mysql-bin       #主库日志目录  
binlog-do-db=db_lnyz                    # 指定同步的数据库(可选)
binlog-do-db=db_portals                 # 指定同步的数据库(可选)
binlog-do-db=db_test                    # 指定同步的数据库(可选)
binlog_format=row                       # 行复制,推荐
binlog-ignore-db = mysql                # 忽略同步的数据库(可选)
binlog-ignore-db = information_schema   # 忽略同步的数据库(可选)
binlog-ignore-db = performance_schema   # 忽略同步的数据库(可选)
binlog-ignore-db = sys                  # 忽略同步的数据库(可选)
replicate_ignore_db=information_schema  # 忽略同步的数据库(可选)
replicate_ignore_db=performance_schema  # 忽略同步的数据库(可选)
replicate_ignore_db=mysql               # 忽略同步的数据库(可选)
replicate_ignore_db=sys                 # 忽略同步的数据库(可选)
log_timestamps = SYSTEM

[client]
default-character-set=utf8mb4           #客户端字符集
socket=/tmp/mysql.sock


3. 使用 mysqldump 导出主库所有数据库的结构和数据
mysqldump -u root -p --all-databases > all_databases.sql
 
 
4.将备份文件cp到(v16备库服务器上)
scp /data/mysqlall/mysql5742/bak/all_databases.sql         192.168.20.27:/u01/mysqlall/mysql5742/bak/
 
5.在v16服务器上还原所有数据库(数据库会自己创建缺失的库,不需要自己先创建空库)
mysql -u root -p --database=mysql < all_databases.sql
 
(root/XXXXXX  本地登陆root密码    还原比较慢 共6.6G 用时30分钟 )

6.重启数据库
systemctl restart mysqld5742



二. 配置主从复制

1. 主库创建复制用户
CREATE USER 'repl'@'192.168.20.17' IDENTIFIED BY 'Bdstar234';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.20.17';
FLUSH PRIVILEGES;

2. 查看主库主要复制文件
SHOW MASTER STATUS;

| File             | Position | 
+------------------+----------+-
| mysql-bin.000020 |      154 | 


3.修改从库配置文件 my.cnf
[mysqld]
server_id=5743                                               #指定数据库唯一ID
read-only=1                                                  # 从库设为只读模式       
relay-log=/u01/mysqlall/mysql5742/data/relay-log/relay-log   #备库指定日志目录(从库使用) 


3.重启从库服务
systemctl restart mysqld5742

4.创建同步语句
CHANGE MASTER TO  
  MASTER_HOST='192.168.20.27',          #主库ip
  MASTER_USER='repl',                   #同步用户
  MASTER_PASSWORD='Bdstar234',          #同步用户密码
  MASTER_LOG_FILE='mysql-bin.000020',   #二进制文件, 主库获得
  MASTER_LOG_POS=154;                   #log日志编号,主库获得


5.启动从库
START SLAVE; 
或者
RESET SLAVE ALL;
 
  
6.检查查看(只检查从库即可) 
SHOW SLAVE STATUS\G  

Slave_IO_Running: Yes
Slave_SQL_Running: Yes  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值