自己的网站怎么做,wordpress文章无法显示,给非法公司做网站维护,学c++哪个线上机构好服务器Linux系统配置mysql数据库主从自动备份
当数据内容越来越多的时候#xff0c;数据库也变得越来越大了。如果不小心误删了#xff0c;或者被黑主机了#xff0c;那就什么都没有了。所以数据库的数据怎么能让它不丢失做到万无一失变得尤为重要#xff01;
我是艾西数据库也变得越来越大了。如果不小心误删了或者被黑主机了那就什么都没有了。所以数据库的数据怎么能让它不丢失做到万无一失变得尤为重要
我是艾西今天跟大家聊聊服务器数据库数据怎么设置自动备份
备份方式为主从
即一台服务器作为主服务器另外一台服务器作为备份服务器当主服务器故障时可以通过备份服务器来接管/恢复。
数据库主备备份的原理
MySQL主服务器从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后在A上写数据另外一台B也会跟着写数据两者数据实时同步的
MySQL主服务器从是基于binlog的主上须开启binlog才能进行主从。 主从过程大致有3个步骤
1主服务器将更改操作记录到binlog里
2从将主服务器的binlog事件(sql语句)同步到从本机上并记录在relaylog里
3从根据relaylog里面的sql语句按顺序执行
主服务器有一个log dump线程用来和从的I/O线程传递binlog
从上有两个线程其中I/O线程用来同步主服务器的binlog并生成relaylog另外一个SQL线程用来把relaylog里面的sql语句执行一遍
两种情况一种是做备份用一种是作为读用 如上图简单的说就是master将数据库的改变写入二进制日志slave同步这些二进制日志并根据这些二进制日志进行数据操作。
环境配置
本次配置的环境为centos7使用LNMP1.4安装的Mysql5.5主服务器为驰网服务器下面简称主服务器从服务器为驰网云服务器下面简称从服务器,现在需要将主服务器中名为img的数据库做主从同步自动同步到从服务器上。
准备工具xshell 用于远程服务器
一、复制数据库
1.首先要将主服务器的数据库复制到从服务器中。
用xshell连接主服务器导出数据库
mysqldump -uroot -p img /root/img.sql---输入数据库密码---
然后ls看下可以看到一个 img.sql的文件。
2.用xshell连接从服务器使用sftp命令远程到主服务器有提示输入yes
sftp root主服务器IP地址---输入ssh密码
cd /root
然后ls看下可以看到主服务器的目录里面有个img.sql的文件执行
get img.sql
这样数据库文件就被复制到从服务器上了。 exit 退出sftp。
3.接下来在从服务器上建立一个名为img的数据库排序规则设为uft8
mysql -uroot -p---输入数据库密码---
create database img;use img;set names utf8;
source img.sql
这样就成功导入了exit退出回到linux命令行。
二、主服务器配置
1.切回主服务器用vim 编辑 /etc下的my.cnf如图 这里主要配置的是server-id和log-bin。server-id用于区分不同主机上的数据库log-bin是二进制文件的名字可以随意命名。同时为了保证只同步需要的数据库我们需要加上
binlog-do-dbimg
binlog-ignore-dbmysql 然后 :wq 保存退出重启mysql
service mysql restart 2.连接数据库进行如下操作
mysql -uroot -p img---输入数据库密码--- 以下为修改数据库连接权限 grant all privileges on . to root% identified by 自定义密码;
flush privileges; 下面为显示bin-log文件名和位置 show master status;
执行完最后一条后我们可以看到 记下红框处的文件名和数字。
三、从服务器配置
1.连接到从服务器用vim修改/etc下的my.cnf文件把server-id改为2。
重启mysql服务
service mysql restart
2.连接数据库配置从数据库
mysql -uroot -p---输入数据库密码---
stop slave;
change master to
master_userroot,
master_password你设置的自定义密码,
master_host主服务器地址
master_log_filemysql-bin.000011, #记下的上图红框的文件名
master_log_pos255; #记下的上图红框的位置
start slave;
show slave status\G #查看是否安装成功
如图这两个是YES就成功了 四、其他说明
现在只要主服务器上的数据库有变动从服务器上也会时时变动达到了数据库异地容灾备份的功能。如果需要多服务器备份那么可以把多个服务器中my.cnf中的server_id修改为不同并按以上教程重新配置一遍每个服务器的数据库可做主服务器也可以做从服务器。
如要同步多个数据库可在主服务器的my.cnf 中添加多条 binlog-do-db指向多个数据库。 总结
备份数据库是非常重要的通过定期备份可以避免因为意外删除或者系统故障等情况导致数据的丢失。
MySQL 自带的 mysqldump 和 MySQLdump.exe 可以帮助我们实现基本的备份使用计划任务可以自动备份我们需要的数据。
如果你需要更加定制化的备份选项那么使用脚本语言编写备份脚本或者使用第三方工具会更加合适。
无论你选择哪种方法在备份数据之前请确保你已经仔细检查过自动备份选项避免出现不必要的数据丢失问题。
今天的分享就到这里啦我是驰网艾西希望对需要的小伙伴有帮助我们下期见