克隆功能分为本地克隆和远端克隆;
克隆介绍及插件安装可以参考:https://blog.csdn.net/JSWANGCHANG/article/details/106545330
异地克隆可以参考下一篇:
本地克隆:
1, 用户需要有BACKUP_ADMIN的权限;
2, 需要安装克隆插件;
3, 计算好空间,别数据量太大导致磁盘满了的情况
命令:CLONE LOCAL DATA DIRECTORY [=] 'clone_dir';
clone_dir 是要保存克隆文件的目录; 需要指定绝对路径
mysql>
mysql> CLONE LOCAL DATA DIRECTORY '/export/data/dbbak/clone_20200604';
Query OK, 0 rows affected (1 min 9.88 sec)
mysql>
查看目录文件,可以看到binlog, undo loog, 元数据文件等都在里面;
[root@A01-R07-07-I133-131 dbbak]# ls clone_20200604
A01-R07-07-I133-131.JD.LOCAL.err binlog.000002 client-cert.pem #ib_16384_0.dblwr ib_logfile0 mysql public_key.pem undo_001
A01-R07-07-I133-131.JD.LOCAL.pid binlog.index client-key.pem #ib_16384_1.dblwr ib_logfile1 mysql.ibd server-cert.pem undo_002
auto.cnf ca-key.pem #clone ib_buffer_pool ibtmp1 performance_schema server-key.pem
binlog.000001 ca.pem hero ibdata1 #innodb_temp private_key.pem sys
克隆后,关闭本地实例,并通过克隆数据启动mysql实例
[root@A01-R07-07-I133-131 ~]# mysqld_safe --datadir=/export/data/dbbak/clone_20200604 &
[1] 23170
[root@A01-R07-07-I133-131 ~]# 2020-06-04T10:21:45.313239Z mysqld_safe Logging to '/export/data/dbbak/clone_20200604/A01-R07-07-I133-131.JD.LOCAL.err'.
2020-06-04T10:21:45.337790Z mysqld_safe Starting mysqld daemon with databases from /export/data/dbbak/clone_20200604
[root@A01-R07-07-I133-131 ~]#
[root@A01-R07-07-I133-131 ~]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.20 MySQL Community Server - GPL
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> select @@datadir;
+------------------------------------+
| @@datadir |
+------------------------------------+
| /export/data/dbbak/clone_20200604/ |
+------------------------------------+
1 row in set (0.00 sec)