mysql主主备份注意事项_MySQL备份与主备配置

MySQL备份与主备配置

全量备份:备份整个数据库

增量备份:备份自上一次备份以来(增量或完全)以来变化的数据

差异备份:备份自上一次完全备份以来变化的数据

Ubantu下单独安装Mysql的操作

ubantu的单独安装命令:

sudo apt-get install mysql-server

sudo apt-get install mysql-client

sudo apt-get install libmysqlclient-dev

mysql的卸载命令;

sudo apt-get autoremove --purge mysql-server-5.7

sudo apt-get remove mysql-server

sudo apt-get autoremove mysql-server

sudo apt-get remove mysql-common

Mysql命令行进入命令

sudo mysql -u root -p

xampp集成环境下:

进入/opt/lampp/bin目录下:sudo ./mysql -u root -p

首次安全方式登陆

进入/etc/mysql/debian.cnf文件

使用mysql -u debian-sys-maint -p 进行登录;使用文件passwd

mysql之后修改MySQL的密码:set password for 'root'@'localhost' = password('yourpass');

​ 首次修改初始密码;

修改Mysql的配置文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

如果xampp打包安装的话:sudo vi /opt/lampp/etc/my.cnf

在其中修改log-bin,直接将注释去掉即可,目的是为了将log-bin开关打开;

有一种例子是:

[mysqld]

log_bin=/var/lib/mysql/mysqld-bin

但是问题是mysql-bin的文件位置不一样;

而在单独安装Mysql的环境下:

正确的配置环境:log_bin=/var/log/mysql/mysql-bin.log

(在windows环境下而不是Ubantu的环境下,等号的左右两端不要出现空格)

查询binlog是否开启

show variables like '%log_bin%';#查询开关是否有开启

show binary logs;

show binlog events in 'mysql-bin.000001';

删除所有binary-log:

reset master 删除所有的二进制日志

增量备份设置

bin-log的文件文件路径:

/var/log/mysql/mysql-bin.000001

查询info中的位置,并执行回复操作:

sudo mysqlbinlog --start-position 123 --stop-position 154 /var/log/mysql/mysql-bin.000009 | sudo mysql -u root -p employees

(上述命令需要提前进入/usr/bin文件目录)

否则需要在mysqlbinlog命令之前加上操作目录

全增量备份设置

sudo mysqldump -u root -p student > /mnt/hgfs/Music/student_backup.sql

sudo mysqldump -u root -p student < C:\Users\11096\Music\student_backup.sql

xampp中集成环境的命令:

sudo ./mysqldump -u root -p students > /mnt/hgfs/Music/student_backup66.sql

windows设置:

.\mysqldump -u root -p student > C:\Users\11096\student_backup.sql

主从备份

主机服务器备份

[mysqld]中添加:

#主数据库端ID号

server_id = 1

#开启二进制日志

log-bin = mysql-bin

#需要复制的数据库名,如果复制多个数据库,重复设置这个选项即可

binlog-do-db = db

#将从服务器从主服务器收到的更新记入到从服务器自己的二进制日志文件中

log-slave-updates

#控制binlog的写入频率。每执行多少次事务写入一次(这个参数性能消耗很大,但可减小MySQL崩溃造成的损失)

sync_binlog = 1

#这个参数一般用在主主同步中,用来错开自增值, 防止键值冲突

auto_increment_offset = 1

#这个参数一般用在主主同步中,用来错开自增值, 防止键值冲突

auto_increment_increment = 1

#二进制日志自动删除的天数,默认值为0,表示“没有自动删除”,启动时和二进制日志循环时可能删除

expire_logs_days = 7

#将函数复制到slave

log_bin_trust_function_creators = 1

2.重启MySQL,创建允许从服务器同步数据的账户

grant replication slave on *.* to 'repl'@'192.168.1.109' identified by '123456';

(192.168.1.109:从机ip地址)

flush privileges;

(刷新权限)

3.查看服务器状态

show master status\G;

show slave status\G

常用命令

start slave;

stop slave;

从机服务器设置

修改配置文件[mysqld]

server_id = 2

log-bin = mysql-bin

log-slave-updates

sync_binlog = 0

#log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行。该模式下在事务提交的时候,不会主动触发写入磁盘的操作

innodb_flush_log_at_trx_commit = 0

#指定slave要复制哪个库

replicate-do-db = db

#MySQL主从复制的时候,当Master和Slave之间的网络中断,但是Master和Slave无法察觉的情况下(比如防火墙或者路由问题)。Slave会等待slave_net_timeout设置的秒数后,才能认为网络出现故障,然后才会重连并且追赶这段时间主库的数据

slave-net-timeout = 60

log_bin_trust_function_creators = 1

执行同步命令

change master to master_host='192.168.1.109',master_user='repl',master_password='123456',master_log_file='mysqld-bin.000033',master_log_pos=328;

Windows中的操作

.\mysql -u root -p

MySQL 主备配置

CREATE USER repl;

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY '123456';

FLUSH PRIVILEGES;

XAMPP环境下远程主从配置连接

./mysql -urepl -p -h192.168.40.136;

change master to master_host='192.168.1.109';

change master to master_user='repl', master_password='123456';

change master to master_log_file='mysql-bin.000001', master_log_pos= 508;

change master to master_log_file=‘ mysqld-bin.000008 ', master_log_pos= 328;

Windows中连接测试操作

./mysql -urepl -p -h 192.168.40.136;

192.168.40.137

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值