回炉重造十---mysql数据库
数据库备份
1.1 备份类型
- 完全备份、增量备份
- 冷备份、热备份、温备份
冷备份:读写均不可操作,数据库要停止服务
温备份:读操作可执行,但写的操作不可执行
热备份:读写操作均可操作
注意:MyISAM:不支持热备;Innodb:三种备份模式都支持
- 物理备份和逻辑备份
物理备份:直接复制数据文件进行备份,与存储引擎无关,占用较多的空间,速度快
逻辑备份:从数据库中“导出”数据另存而进行备份,与存储引勤无关,占用空间少,速度慢,可能丢失精度
1.2 备份的对象
- 数据
- 二进制日志、InnoDB事务日志
- 用户账号、权限设置,程序代码(存储过程、函数、触发器、事件调度器)
- 服务器的配置文件
1.3备份的注意事项
- 能容忍做多丢失多少数据
- 备份产生的负载
- 备份的时间
- 恢复数据要在多长时间内完成
- 需要备份和恢复哪些数据
1.4备份工具
- cp
- lvm快照
- mysqldump
- xtrabackup
1.5 数据库的主从搭建
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QRYcVa8A-1682232866760)(C:\\Users\\HP\\AppData\\Roaming\\Typora\\typora-user-images\\1639046288180.png)]
master:12.17.8.8
slave:172.17.8.18
关闭防火墙、selinux、数据库的版本一致
1.5.1主节点
1、安装并开启服务
[root@Server ~]#yum -y install mysql-server.x86_64
[root@Server ~]#systemctl start mysqld.service
2、在配置文件中开启二进制日志并设立serverID
[root@Server ~]# cat /etc/my.cnf.d/mysql-server.cnf
[mysqld]
server-id=8
log-bin=/data/mysql/login/mysql-bin
3、创建存放二进制日志的文件夹并赋予权限
[root@Server ~]#mkdir /data/mysql/logbin -p
[root@Server ~]#chown -R mysql.mysql /data/*
4、重启数据库
[root@Server ~]#systemctl restart mysqld.service
5、查看二进制日志的位置
mysql> show master status
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 | 155 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
6、创建用户账号和密码并赋予权限
mysql> create user weng@'172.17.8.%' identified by 'admin';
mysql> grant replication slave on *.* to weng@'172.17.8.%';
1.5.2从节点
1、安装并开启服务
[root@Server ~]#yum -y install mysql-server.x86_64
[root@Server ~]#systemctl start mysqld.service
2、在配置文件中开启二进制日志并设立serverID
[root@Server ~]# cat /etc/my.cnf.d/mysql-server.cnf
[mysqld]
server-id=18
3、重启数据库
systemctl restart mysqld.service
4、复制权限的用户账号连接至主服务器
CHANGE MASTER TOMASTER_HOST='172.17.8.8',MASTER_USER='weng',MASTER_PASSWORD='admin',MASTER_PORT=3306,MASTER_LOG_FILE=' mysql-bin.000003',MASTER_LOG_POS=155;
5、开启线程
mysql> start slave
6、查看从节点的状态
mysql> show slave status\\G
,
MASTER_LOG_POS=155;
#### 5、开启线程```mysql
mysql> start slave
6、查看从节点的状态
mysql> show slave status\\G
数据库的查询语句和数据权限的授予之前的博客有,如果不是专门的DBA运维工程师个人认为会查询语句和数据库的备份还原,数据库的安装,数据主从搭建就可以了,这部分内容总结的简略,多多包涵