> 文章列表 > 回炉重造十---mysql数据库

回炉重造十---mysql数据库

回炉重造十---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运维工程师个人认为会查询语句和数据库的备份还原,数据库的安装,数据主从搭建就可以了,这部分内容总结的简略,多多包涵

real silver jewelry