Day-10-数据库服务从构建
1、数据库服务克隆操作 8.0(云产品) RDS
2、数据库主从同步原理 数据库 (单台) ***
3、数据库主从同步构建
4、数据库主从同步查看
5、数据库同步故障分析
6、数据库同步延时分析
7、数据库延时从库实践
8、数据库过滤复制实践
9、数据库半同步复制实践(数据库同步一致性)MGR
补充:single-transaction 主要保证数据备份一致性(数据库中的数据 == 备份中的数据)
1、数据库服务克隆操作
作用:
1)在实现大的数据迁移时,克隆效率最高
2)实现云主机数据资源,迁移到物理主机
克隆方式:
本地克隆:数据备份
第一步:安装克隆插件
# 进行克隆插件加载配置
mysql> INSTALL PLUGIN clone SONAME 'mysql_clone.so';
或者
[mysqld]
plugin-load-add=mysql_clone.so
clone=FORCE_PLUS_PERMANENT
# 查看克隆插件加载情况
mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'clone';
+------------------+----------------------+
| PLUGIN_NAME | PLUGIN_STATUS |
+------------------+----------------------+
| clone | ACTIVE |
+------------------+----------------------+
1 row in set (0.00 sec)
第二步:创建克隆用户
mysql> create user clone_user@'%' identified by 'password';
mysql> grant backup_admin on *.* to 'clone_user';
-- backup_admin权限是mysql 8.0才有的备份导出的权限;
第三步:实现本地克隆
[root@db01 ~]# mkdir -p /data/test
[root@db01 ~]# chown -R mysql.mysql /data/
-- 准备克隆环境
[root@db01 ~]# mysql -S /tmp/mysql3306.sock -uclone_user -ppassword
# 或者 mysql -uclone_user -ppassword
mysql> clone local data directory = '/data/test/clonedir';
-- 完成本地数据库目录的克隆操作,如果出现异常需要删除克隆目录,在进行重新克隆操作
第四步:查看克隆进度
mysql> select stage,state,end_time from performance_schema.clone_progress;
+-----------+-------------+----------------------------+
| stage | state | end_time |
+-----------+-------------+----------------------------+
| DROP DATA | Completed | 2024-09-09 16:36:35.159007 |
| FILE COPY | Completed | 2024-09-09 16:36:35.350129 |
| PAGE COPY | Completed | 2024-09-09 16:36:35.356447 |
| REDO COPY | Completed | 2024-09-09 16:36:35.357439 |
| FILE SYNC | Completed | 2024-09-09 16:36:35.577651 |
| RESTART | Not Started | NULL |
| RECOVERY | Not Started | NULL |
+-----------+-------------+----------------------------+
7 rows in set (0.00 sec)
-- 当克隆数据量比较大的时候,可以使用此SQL语句进行克隆状态查看
第五步:实现克隆日志观测
mysql> set global log_error_verbosity=3;
[root@xiaoQ-01 ~]# tail -f db01.err
clone local data directory = '/data/test/clonedir'
第六步:启动运行克隆实例
[root@xiaoQ-01 ~]# mysqld_safe --datadir=/data/test/clonedir --port=3333 --socket=/tmp/mysql3333.sock --user=mysql --mysqlx=off &
-- 克隆数据验证过程
[root@xiaoQ-01 ~]# netstat -lntup|grep 3333
tcp6 0 0 :::3333 :::* LISTEN 52674/mysqld
# 核实查看克隆后数据库信息
[root@xiaoQ-01 ~]# mysql -uroot -p123456 -S /tmp/mysql3333.sock
mysql> show databases;
远程克隆:数据迁移
区分远程克隆角色主机:
捐赠者:被克隆主机信息 3306 物理主机
接收者:克隆后主机信息 3307 云主机
第一个步骤:安装插件
INSTALL PLUGIN clone SONAME 'mysql_clone.so';
-- jz js 都需要安装插件
第二个步骤:创建克隆专用用户
jz主机用户创建:
# 在克隆捐赠者主机上进行授权(数据库01主机上设置)
mysql> create user test_jz@'%' identified