|NO.Z.00090|——————————|^^ 操作 ^^|——|Linux&MySQL.V05|——|数据备份|备份还原|
一、备份和还原
### --- mysqldump 备份:
~~~ mysqldump -u 用户名 -p 数据库名 > /备份路径/备份文件名(备份整个数据库)
~~~ mysqldump -u 用户名 -p 数据库名 表名 > /备份路径/备份文件名(备份数据表)
~~~ #备份多个库:--databases 库 1,库 2
~~~ #备份所有库:--all-databases
~~~ #备份多个表:库名 表 1 表 2
### --- 备份数据库
[root@server21 ~]# mkdir /mysqldate
[root@server21 ~]# mysqldump -uroot -p123123 atyanqi > /mysqldate/atyanqi.sql
[root@server21 ~]# ls /mysqldate/
atyanqi.sql
二、数据还原
### --- 还原:mysql 数据库 < 备份文件
~~~ 注意:还原时,若导入的是某表,请指定导入到哪一个库中
### --- mysqlhotcopy 备份:
~~~ 备份:mysqlhotcopy --flushlog -u=’用户’ -p=’密码’ --regexp=正则 备份目录
~~~ 还原:cp -a 备份目录 数据目录(/var/lib/mysql)
### --- 客户端还原
[root@server22 ~]# yum install -y mysql-server
[root@server21 ~]# scp -r /mysqldate/atyanqi.sql root@20.20.20.22:/root/
[root@server22 ~]# servoce mysqld start
[root@server22 ~]# mysql -uroot
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.00 sec)
### --- 导入备份的数据库
mysql> create database atyanqi;
Query OK, 1 row affected (0.00 sec)
[root@server22 ~]# mysql atyanqi < atyanqi.sql
[root@server22 ~]# mysql
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| atyanqi |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)
三、mysqldump 和 mysqlhotcopy 示例:
### --- 备份数据库atyanqi
[root@server21 ~]# ls /var/lib/mysql/
atyanqi
[root@server21 ~]# cp -a /var/lib/mysql/atyanqi/ /
[root@server21 ~]# ls /atyanqi/
### --- 删除原有数据库文件atyanqi
[root@server21 ~]# rm -rf /var/lib/mysql/atyanqi/
[root@server21 ~]# mysql -uroot -p123123
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
3 rows in set (0.00 sec)
[root@server21 ~]# mv /atyanqi/ /var/lib/mysql/
[root@server21 ~]# mysql -uroot -p123123
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| atyanqi |
| mysql |
| test |
+--------------------+
4 rows in set (0.00 sec)
### --- Mysql 备份和还原
~~~ 把数据库 aa 备份到/root 目录下
# mysqldump –uroot –p aa > ~/aa.sql
~~~ 模拟数据库 aa 丢失(删除数据库 aa)
# Mysql>drop database aa;
~~~ 通过 aa.sql 文件还原(指定导入到哪个库中)
# mysql –uroot –p test < aa.sql
~~~ 备份多个数据库(--databases)
# mysqldump –uroot –p --databases aa test > abc.sql
~~~ 还原(先模拟丢失)
# mysql –uroot –p < abc.sql
~~~ 备份有规则的数据库
Mysql>create database a1; // 连续创建三个 a 开头的数据库
# mysqlhotcopy --flushlog –u=‘root’ –p=‘456’ --regexp=^a
~~~ 还原(先模拟丢失)
~~~ 登录数据库查看即可
Mysql>drop database a1; // 顺序删除 a 开头的数据库
[root@server21 ~]# cp –a /mnt/* /var/lib/mysql/ // 复制产生的文件到数据库目录下
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv007-network
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?