数据库管理员 root密码管理
操作系统管理员,修改本机数据库服务管理员登录密码
1)修改密码 alter user
[root@test ~]# mysqladmin -uroot -p123456 password "135790" #方法一
[root@test ~]# mysql -uroot -p135790
mysql> alter user root@"localhost" identified by "123456"; #方法二
mysql> exit
[root@test ~]# mysql -uroot -p123456
mysql> exit
2)破解数据库管理员root密码skip_grant_tables
a.修改服务运行参数,要重启数据库服务
~]# vim /etc/my.cnf
[mysqld]
skip_grant_tables #添加的参数
#validate_password_policy=0 #如果更改了密码策略。请注释
#validate_password_length=6
[root@test ~]# systemctl restart mysqld
[root@test ~]# mysql -uroot -p1
mysql> exit
b.登录mysql修改密码
mysql> desc mysql.user ; 密码记录字段
| authentication_string | text | YES | | NULL
mysql> update mysql.user set authentication_string=password("456789") where user="root" and host="localhost";
mysql> exit
[root@test ~]# vim /etc/my.cnf
[mysqld]
secure_file_priv="/myload"
#skip_grant_tables
validate_password_policy=0 如果存在密码策略。请去#
validate_password_length=6
[root@test ~]# systemctl restart mysqld
[root@test ~]# mysql -uroot -p456789
mysql> exit
数据的备份与恢复
一、数据备份的方式介绍 1.物理备份 冷备:cp 、tar、…
[root@test ~]# cp -r /var/lib/mysql /root/mysql.bak #备份
[root@test ~]# tar -zcf /root/mysql.tar.gz /var/lib/mysql #备份
[root@test ~]# rm -rf /var/lib/mysql #模拟删除
[root@test ~]# systemctl stop mysqld
[root@test ~]# cp -r /root/mysql.bak/* /var/lib/mysql #恢复
[root@test ~]# chown -R mysql:mysql /var/lib/mysql
[root@test ~]# systemctl start mysqld
[root@test ~]# cp -rp /var/lib/mysql /root/mysql.bak #不用改属组
2.逻辑备份
mysqldump 对数据库做备份,对应的恢复命令是mysql 启用mysql服务的binlog日志文件实现对数据的实时备份,使用binlog日志恢复数据。 使用源软件提供的innobackupex命令对数据做备份和恢复
3.备份策略 完全备份:备份所有数据 增量备份:备份上次备份后,所有新产生数据 差异备份:完全备份后,所有新产生的数据 工作总常用的备份策略 1完全备份+增量备份 完+增1+增2+增3+增4+增5,恢复数据时需要所有,每日备份量相当,节省存储,但都重要 2完全备份+差异备份 完+差1+差2+差3+差4+差5,恢复数据时需要完+差5,每日备份量日增,存储消耗较大,不是每份都有用
二、使用mysqldump对数据做完全备份恢复
1.备份命令格式mysqldump -uroot -p密码 库名 >目录/xxx.sql
1)对所有库备份 -all-databases或-A
[root@test ~]# mysqldump -uroot -p456789 --all-databases > ./allbak.sql
[root@test ~]# ls
allbak.sql
2)对单个库备份
~]# mysqldump -uroot -p456789 mydb > /bak/onedb.sql
3)对库下的单个表备份
~]# mysqldump -uroot -p123456 mydb t1 > /bak/onetable.sql
4)对多个库备份
~]# mysqldump -uroot -p123456 -B mydb user > /bak/twodb.sql
# -B 导入数据库时,自动创建库。否则导入失败。
2.使用备份文件恢复数据
1)库文件恢复命令格式 mysql -uroot -p密码 [库名]< 目录/xxx.sql
mysql> drop database user;
mysql> drop database mydb;
[root@test ~]# mysql -uroot -p456789 < ./twodb.sql
#twodb.sql是库文件,前面不在加库名,单独的表恢复时必须加库名
[root@test ~]# mysql -uroot -pl23456 < /root/twodb.sql
[root@test ~]# mysql -uroot -p456789
mysql> show databases; #能够看到多出来新库了
mysql> drop database user;
mysql> drop database mydb;
mysql> show databases;
mysql> source twodb.sql #在数据库登录的情况下用source导入
2)表文件恢复 前面需要加库名
mysql> use mydb;
mysql> show tables;
t1
mysql> drop table t1;
[root@test ~]# mysql -uroot -p456789 mydb t1 < ./onetable.sql
mysqldump优点与缺点: 命令执行过程中,表被锁定,不允许客户端访问。适合备份数据量比较小的数据,做好再服务器访问量少的时候使用。只能把数据恢复到备份时的状态。是mysql自带的备份工具。
生产中你要可以用navicate软件导出sql文件备份
三、增量备份 备份新产生的数据 1.binlog日志设置介绍 也称做二进制日志,MySQL服务日志文件的一种。记录除查询之外的所有SQL命令,可用于数据备份和恢复,是配置mysql主从同步的必要条件 mysql服务有4种日志文件:错误日志、 binlog日志、查询日志、慢查询日志,默认启用错误日志
1)启用binlog日志实现对数据的实时备份
[root@test ~]# vim /etc/my.cnf
[mysqld]
log_bin
server_id=18
[root@test ~]# systemctl restart mysqld
[root@test ~]# mysql -uroot -p456789
mysql> show master status ;
+-----------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-----------------+----------+--------------+------------------+-------------------+
| test-bin.000001 | 154 | | | |
+-----------------+----------+--------------+------------------+-------------------+
[root@test ~]# ls /var/lib/mysql #默认路径
test-bin.000001 test-bin.index #主机名-bin.000001自动创建2.3...
server_id=数字 指定id值(1-255) 一般设置为本机ip
log_bin=[目录名/文件名] 启用binlog日志,指定目录,需改属组
max_binlogsize=数值m 指定日志文件容量,默认1G。超出再建,不自动删除
2)修改日志文件的存放目录和日志名
[root@test ~]# vim /etc/my.cnf
[mysqld]
server_id=18
log_bin=/mylog/dachui
[root@test ~]# mkdir /mylog
[root@test ~]# chown mysql:mysql /mylog
[root@test ~]# setenforce 0
[root@test ~]# systemctl restart myslqd
[root@test ~]# mysql -uroot -p456789 -e 'flush log' #或者进入mysql刷新
[root@test ~]# mysql -uroot -p456789
mysql> flush logs;
[root@test ~]# ls /mylog
data.000001 data.index #新生成的文件
4)清理日志 rm -rf /mylog/* reset master
mysql> flush logs; #生成新的日志
[root@test ~]# ls /mylog
data.000001 data.000002 data.index
mysql> flush logs; #生成新的日志
[root@test ~]# ls /mylog
data.000001 data.000002 data.000003 data.index
mysql> purge master logs to "data.000002"; #删除02之前的日志
[root@test ~]# ls /mylog
data.000002 data.000003 data.index
mysql> purge master logs to "data.000003";
[root@test ~]# ls /mylog
data.000003 data.index
mysql> reset master;
[root@test ~]# ls /mylog
data.000001 data.index
使用binlog日志恢复数据
1)查看日志 mysqlbinlog [选项] binlog日志文件名
[root@test ~]# mysqlbinlog /mylog/data.000001
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#220225 8:40:17 server id 50 end_log_pos 123 CRC32 0x6d71000a
Start: binlog v 4, server v 5.7.17-log created 220225 8:40:17 at startup
# Warning: this binlog is either in use or was not closed properly.
ROLLBACK/*!*/;
BINLOG '
QdwYYg8yAAAAdwAAAHsAAAABAAQANS43Lj...
binlog日志文件记录命令的方式,选项写一个时,默认从开头执行或执行到结尾 a.通过偏移量
--start-position=数字 --stop-position=数字
b.通过执行命令时的时间
--start-datetime="yyyy-mm-dd hh:mm:ss"
--stop-datetime="yyyy-mm-dd hh:mm:ss"
2)恢复mysqlbinlog /目录/日志名 | mysql -uroot -p密码 恢复数据的基本思路:查看日志文件的执行内容,管道给连接数据库的mysql 执行
[root@test1 ~]# mysql -uroot -p456789 db
mysql> reset master;
mysql> select count(*) from db.user;
+----------+
| count(*) |
+----------+
| 32 |
+----------+
[root@test1 ~]# mysqldump -uroot -p456789 --flush-logs db > /root/db.sql
[root@test1 ~]# scp db.sql root@192.168.1.17:/root/
[root@test ~]# mysql -uroot -p456789 db
mysql> insert into db.user(name,uid,gid,homedir) values ("B4",1,1,"bj");
mysql> insert into db.user(name,uid,gid,homedir) values ("B4",1,1,"bj");
mysql> insert into db.user(name,uid,gid,homedir) values ("B4",1,1,"bj");
mysql> select count(*) from db.user;
+----------+
| count(*) |
+----------+
| 35 |
+----------+
mysql> flush logs;
mysql> show master status;
+-------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------+----------+--------------+------------------+-------------------+
| data.000002 | 154 | | | |
+-------------+----------+--------------+------------------+-------------------+
mysql> exit
[root@test ~]# scp /mylog/data.000001 root@192.168.1.17:/root/
[root@test2 ~]# mysql -uroot -p123456 db < db.sql
[root@test2 ~]# mysql -uroot -p123456 db
mysql> select count(*) from db.user;
+----------+
| count(*) |
+----------+
| 32 |
+----------+
mysql> truncate db.user; #清除数据,保留了表结构
mysql> select count(*) from db.user;
+----------+
| count(*) |
+----------+
| 0 |
+----------+
mysql> exit
[root@test2 ~]# mysqlbinlog data.000001 | mysql -uroot -p123456
mysql> select count(*) from db.user;
[root@test2 ~]# mysql -uroot -p123456 db -e "select count(*) from db.user"
+----------+
| count(*) |
+----------+
| 35 |
+----------+
3)部分恢复binlog_format=“mixed” 时间或偏移值
a.修改日志记录格式 mixd,模式 statement 报表模式 row 行模式,默认的模式 mixed 混合模式,可以查看到执行的sql命令行
[root@test ~]# vim /etc/my.cnf
[root@test ~]# systemctl restart mysqld
[root@test ~]# mysql -uroot -p456789
mysql> show variables like "binlog_format";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | MIXED |
+---------------+-------+
mysql> show master status;
+-------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------+----------+--------------+------------------+-------------------+
| data.000003 | 154 | | | |
+-------------+----------+--------------+------------------+-------------------+
mysql> insert into db.user(name,uid,gid,homedir) values ("B4",1,1,"bj");
Query OK, 1 row affected (0.06 sec)
mysql> show master status;
+-------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------+----------+--------------+------------------+-------------------+
| data.000003 | 489 | | | |
+-------------+----------+--------------+------------------+-------------------+
mysql> select count(*) from db.user;
+----------+
| count(*) |
+----------+
| 36 |
+----------+
b.mysqlbinlog查看日志中执行的指令
查看命令的起始时间 起始偏移量 在记录命令的上方 查看命令的结束时间 结束偏移量 在记录命令的下方 (不要文件记录的最后1条命令,要把commit对应结束时间结束偏移量包涵在内)查看日志文件内容加选项,适合恢复指定的数据)
[root@test ~]# mysqlbinlog /mylog/data.000003
...
#220225 21:35:22 server id 50 end_log_pos 324 CRC32 0xc443ad78 Intvar
SET INSERT_ID=33/*!*/;
#220225 21:35:22 server id 50 end_log_pos 458 CRC32 0x4bbf3e31 Query thread_id=3 exec_time=0 error_code=0
SET TIMESTAMP=1645842922/*!*/;
insert into db.user(name,uid,gid,homedir) values ("B4",1,1,"bj") #执行的命令
/*!*/;
# at 458
#220225 21:35:22 server id 50 end_log_pos 489 CRC32 0x2627e627 Xid = 6
COMMIT/*!*/;
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqlbinlog */ /*!*/;
DELIMITER ;
# End of log file
...
insert命令执行前的偏移量是458
[root@test ~]# mysqlbinlog --start-position=154 --stop-position=458 /mylog/data.000003 |mysql -uroot -p456789[root@test ~]# mysql -uroot -p456789 db -e "select count(*) from db.user"
+----------+
| count(*) |
+----------+
| 35 |
+----------+
insert命令执行结束的偏移量是489
[root@test ~]# mysqlbinlog --start-position=154 --stop-position=489 /mylog/data.000003 |mysql -uroot -p456789[root@test ~]# mysql -uroot -p456789 db -e "select count(*) from db.user"
+----------+
| count(*) |
+----------+
| 36 |
+----------+
使用时间恢复
mysqlbinlog --start-datetime="2022/03/01 10:55:39" --stop-datetime="2022/03/01 11:26:08" /mylog/data.000003 | mysql -uroot -p密码
percona软件提供innobackupex命令备份数据
物理备份:缺点一跨平台性差一备份时间长、冗余备份、浪费存储空间 mysqldump备份:缺点一效率较低、备份和还原速度慢、锁表一备份过程中,数据插入和更新操作被阻塞
percona(备份时不锁表)适合线上服务器,一款强大的在线热备份工具一备份过程中不锁库表,适合生产环境-由专业组织Percona提供(改进MySQL分支)主要含两个组件-xtrabackup:C程序,支持InnoDB/XtraDB-innobackupex:以Perl脚本封装xtrabackup,还支持MyISAM
1.percona安装及常用命令
]# rpm-ivh libev-4.15-1.el6.rf.×86_64.rpm #yum源没有,都需要上传
]# yum-y install percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm #依赖libev
1)查看安装列表
[root@host62~]# rpm-ql percona-xtrabackup-24
/usr/bin/innobackupex //备份innodb、xtrdb、myisam引擎的表
/usr/bin/xbcloud
/usr/bin/xbcloud _osenv
/usr/bin/xbcrypt
/usr/bin/xbstream
/usr/bin/xtrabackup//备份innodb、xtrdb引擎的表
2)查看命令帮助
]# rpm -ql percona-xtrabackup-24
]# innobackupex --help //常用选项
]# man innobackupex //详细帮助
常用选项
--host 主机名
--user 用户名
--port 端口号
--password 密码
--databases 数据库名: 库 库.表 库1,库2
--no-timestamp 不用日期命名备份文件存储的子目录名
--redo-only 日志合并
--apply-log 准备恢复数据
--copy-back 拷贝数据
--incremental 目录名,增量备份
--incremental-basedir=目录名 增量备份时,指定上一次备份数据存储的目录名
--incremental-dir=目录名 准备恢复数据时,指定增量备份数据存储的目录名
--export 导出表信息
import 导入表空间
完全备份与恢复介绍、举例
#innobackupex -u用户名 -p密码 备份目录名 -no -timestamp
完全恢复命令格式
]#innobackupex --apply-log 目录名 //准备恢复数据
]#innobackupex --copy-back 目录名 //拷贝数据
#不指定数据库,备份所有的
[root@test ~]# innobackupex -uroot -p456789 allbak #allbak不需创建,不能重复使用
[root@test ~]# ls allbak/
2022-02-25_22-10-23
#不创建带有时间的目录
[root@test ~]# innobackupex -uroot -p456789 allbak2 --no-timestamp
[root@test ~]# ls allbak2
backup-my.cnf ib_buffer_pool mysql xtrabackup_binlog_info xtrabackup_logfile
db ibdata1 performance_schema xtrabackup_checkpoints
db3 mydb sys xtrabackup_info
#指定数据库
[root@test ~]# innobackupex -uroot -p456789 --database=db allbak3
[root@test ~]# ls allbak3
2022-02-25_22-15-05
1)准备恢复数据–apply-log
[root@test ~]# innobackupex -uroot -p456789 allbak2 --no-timestamp
[root@test ~]# scp -r allbak2 root@192.168.1.17:/root/
[root@test2 ~]# mysql -uroot -p123456 db
mysql> show tables;
mysql> drop table user;
[root@test2 ~]# cat allbak2/xtrabackup_checkpoints
backup_type = full-backuped #准备ok
from_lsn = 0
to_lsn = 3354460
last_lsn = 3354469
compact = 0
recover_binlog_info = 0
[root@test2 ~]# systemctl stop mysqld #停止myslqd
[root@test2 ~]# rm -rf /var/lib/mysql/* #清空原数据
[root@test2 ~]# innobackupex --copy-back allbak2/ #恢复
[root@test2 ~]# chown -R mysql:mysql /var/lib/mysql #修改属主
[root@test2 ~]# systemctl start mysqld
[root@test2 ~]# mysql -uroot -p456789 #密码和原主机的密码一样
mysql> show databases; #验证
3.单独恢复一张表db.user
模拟删除表空间test2主机
表空间:用来存储表数据的文件 表名.ibd
表结构:用来存储表结构的文件 表名.frm
mysql> system ls /var/lib/mysql/db/
db.opt user.frm user.ibd
mysql> alter table db.user discard tablespace;
mysql> system ls /var/lib/mysql/db/
db.opt user.frm
mysql> select * from db.user;
ERROR 1814 (HY000): Tablespace has been discarded for table 'user'
2)导出表信息
[root@test2 ~]# ls allbak2/db/
db.opt user.frm user.ibd
[root@test2 ~]# innobackupex --apply-log --export /root/allbak2/
[root@test2 ~]# ls allbak2/db/
db.opt user.cfg user.exp user.frm user.ibd
[root@test2 ~]# cp /root/allbak2/db/user.{cfg,exp,ibd} /var/lib/mysql/db
[root@test2 ~]# ls /var/lib/mysql/db
db.opt user.cfg user.exp user.frm user.ibd
[root@test2 ~]# chown mysql:mysql /var/lib/mysql/db/user*
[root@test2 ~]# mysql -uroot -p456789
mysql> select * from db.user;
ERROR 1814 (HY000): Tablespace has been discarded for table 'user'
mysql> alter table db.user import tablespace; #导入表空间
mysql> select * from db.user; #有数据了
[root@test2 ~]# rm -rf /var/lib/mysql/db3/tea.{cfg,exp}
4.增量备份与恢复
应用示例 增量备份时,必须先有一次备份,通常是完全备份 周一完全备份,周二~周日增量备份
1)命令格式 -incremental /目录 --incremental-basedir=
增量备份数据
~]# innobackupex -u用户名 -p密码 --incremental /目录
--incremental-basedir=/上次备份文件存放的目录 --no-timestamp
准备恢复数据
~]# innobackupex --apply-log --redo-only/目录名
合并数据
~]# innobackupex --apply-log --redo-only /目录名 --incremental-dir=/目录名
拷贝数据
~]# innobackupex --copy-back /目录名/
2)增量备份恢复数据举例
周一全备份
[root@test ~]# innobackupex -uroot -p456789 /fullbak --no-timestamp
[root@test ~]# mysql -uroot -p456789
> insert into db3.tea values("dachui",18)("tiechui",18);
周二增量备份
[root@test ~]# innobackupex -uroot -p456789 --incremental /new1dir --incremental-basedir=/fullbak --no-timestamp
root@test ~]# ls /
allbak bin dev fullbak lib media myload new1dir proc run
mysql> insert into db3.tea values ("zhouer",2);
周三增量备份
[root@test ~]# innobackupex -uroot -p456789 --incremental /new2dir --incremental-basedir=/new1dir --no-timestamp
mysql> insert into db3.tea values ("zhousan",2);
mysql> insert into db3.tea values ("zhou3",2);
周四增量备份
[root@test ~]# innobackupex -uroot -p456789 --incremental /new3dir --incremental-basedir=/new2dir --no-timestamp
[root@test ~]# scp -r /fullbak/ /new1dir/ /new2dir/ /new3dir/ root@192.168.4.51:/
在test2主机恢复数据,具体操作如下
a.准备恢复数据--apply-log --redo-only(告诉从哪开始)
[root@test2 ~]# cat /fullbak/xtrabackup_checkpoints
backup_type = full-backuped
[root@test2 ~]# innobackupex --apply-log --redo-only /fullbak/
[root@test2 ~]# cat /fullbak/xtrabackup_checkpoints
backup_type = log-applied
b.合并数据 --incremental-dir=/new1dir
(合并的顺序要和备份的顺序一致,原因如下)
[root@test2 ~]# cat /fullbak/xtrabackup_checkpoints
backup_type = full-backuped
from_lsn = 0
to_lsn = 3012109
[root@test2 ~]# cat /new1dir/xtrabackup_checkpoints
backup_type = incremental
from_lsn = 3012109
to_lsn = 3014104
[root@test2 ~]# cat /new2dir/xtrabackup_checkpoints
backup_type = incremental
from_lsn = 3014104
to_lsn = 3014465
[root@test2 ~]# innobackupex --apply-log --redo-only /fullbak/ --incremental-dir=/new1dir
[root@test2 ~]# innobackupex --apply-log --redo-only /fullbak/ --incremental-dir=/new2dir
[root@test2 ~]# innobackupex --apply-log --redo-only /fullbak/ --incremental-dir=/new3dir
[root@test2 ~]# cat /fullbak/xtrabackup_checkpoints
backup_type = log-applied
from_lsn = 0
to_lsn = 3016750
last_lsn = 3016759
c.停止服务,清空数据库目录
[root@test2 ~]# systemctl stop mysqld.service
[root@test2 ~]# rm -rf /var/lib/mysql/*
d.拷贝数据
[root@test2 ~]# innobackupex --copy-back /fullbak/
e.修改所有者和组用户为MySQL重启服务并查看数据
[root@test2 ~]# chown -R mysql:mysql /var/lib/mysql
[root@test2 ~]# systemctl start mysqld
mysql> select * from db3.tea;
命令小结 备份数据:inno -u -p --incremental /新增 --incremental-basedir=/原始 --no-timestamp 准备恢复:inno… --apply-log --redo-only /原 合并数据:inno… --apply-log --redo-only /原 --incremental-dir=/增 停止服务 清空数据库目录 拷贝数据innobackupex --copy-back /原 修改所有者和组用户为mysql,启动服务,登录查看数据
5.差异备份与恢复
周一完全备份
[root@test ~]# innobackupex -uroot -p456789 /allbak --no-timestamp
mysql> insert into db3.t1 values (1);
mysql> insert into db3.t1 values (11);
周二差异备份
[root@test ~]# innobackupex -uroot -p456789 --incremental /adir --incremental-basedir=/allbak --no-timestamp
mysql> insert into db3.t1 values(2);
mysql> insert into db3.t1 values(22);
周三差异备份
[root@test ~]# innobackupex -uroot -p456789 --incremental /bdir --incremental-basedir=/allbak --no-timestamp
mysql> insert into db3.t1 values(3);
mysql> insert into db3.t1 values(33);
周四差异备份到周日做差异备份
root@test ~]# innobackupex -uroot -p456789 --incremental /cdir --incremental-basedir=/allbak --no-timestamp
[root@test ~]# scp -r /adir/ /bdir/ /cdir/ /allbak/ root@192.168.4.51:/opt/
在51主机使用差异备份文件恢复数据,以上环境布置
1)准备恢复数据
[root@test2 ~]# innobackupex --apply-log --redo-only /opt/allbak/
2)合并数据
差异备份只合并最后一次备份数据,原因如下
[root@test ~]# cat /allbak/xtrabackup_checkpoints
backup_type = full-backuped
from_lsn = 0
to_lsn = 3016750
[root@test ~]# cat /adir/xtrabackup_checkpoints
backup_type = incremental
from_lsn = 3016750
to_lsn = 3018989
[root@test ~]# cat /bdir/xtrabackup_checkpoints
backup_type = incremental
from_lsn = 3016750
to_lsn = 3021331
[root@test ~]# cat /cdir/xtrabackup_checkpoints
backup_type = incremental
from_lsn = 3016750
to_lsn = 3023546
[root@test2 ~]# innobackupex --apply-log --redo-only /opt/allbak/ --incremental-dir=/opt/cdir
3)停止服务,清空数据库目录
[root@test2 ~]# systemctl stop mysqld
[root@test2 ~]# rm -rf /var/lib/mysql/*
4)拷贝数据
[root@test2 ~]# innobackupex --copy-back /opt/allbak/
5)修改所有者和组用户为mysql启动服务登录查看数据
[root@test2 ~]# chown -R mysql:mysql /var/lib/mysql
[root@test2 ~]# systemctl start mysqld
[root@test2 ~]# mysql -uroot -p456789 -e "select * from db3.t1"
|