十一、MYSQL数据库备份还原
2023-09-14 09:09:32 时间
十一、MYSQL数据库备份还原
mysqldump备份和还原数据库
备份
主从数据库备份
参考: https://my.oschina.net/u/1473861/blog/1622953
Mysql 数据库 在主从 数据库
进行 导出备份
和恢复
的时候,需要注意是否启用数据库用GTID模式
.如果开启,则在mysqldump
数据时,应该mysqldump命令加上参数--set-gtid-purged=OFF
。
# 主从数据库备份
mysqldump -h{db_host} -u{db_user} -p{db_passwd} -P{port} {dbname} {tables} --set-gtid-purged=OFF > /tmp/dbname.tables.sql
备份指定数据库
# 备份指定数据库
mysqldump -u root -p --databases 数据库名>C:\testandmysql.sql
备份多个数据库
# 备份多个数据库
mysqldump -u username -p --databases dbname1 dbname2 ... > filename.sql
备份所有数据库
# 使用“--all-databases”参数时,不需要指定数据库名称。
mysqldump -u username -p --all-databases>filename.sql
# 备份所有数据库
mysqldump -u root -p --all-databases > C:\all.sql
备份数据表
参考: https://blog.51cto.com/fuwenchao/1335473
方法1: mysqldump
备份数据表
# 备份数据库中某个表
# # mysqldump -u 用户名 -p 数据库名 表名 >备份的文件名
mysqldump -uroot -p test student > C:\student.sql
# 备份数据库中多个表
mysqldump db1 tb1 tb2 -u root -p123 > biao.sql
方法2: create table
备份
-- 备份fund_netvalue表--只支持下划线
-- create table 表名_备份 as (select * from 表名);
create table fund_netvalue_bak_2013_11_08 as (select * from fund_netvalue);
方法3: SQL SELECT INTO 实例
- 制作备份复件
-- 制作 "Persons" 表的备份复件
SELECT
*
INTO
Persons_backup
FROM Persons
导出数据库信息
查看secure-file-priv当前的值是
-- 查看secure-file-priv当前的值
show variables like '%secure%';
导出数据库
如果导出失败,则需要添加**secure_file_priv**
-- 导出数据库
SELECT * FROM student INTO OUTFILE 'C://Pcode/person.txt';
还原
登录mysql后还原
# 登录mysql
mysql -p
# 进入要还原的数据库
use edu
# 还原备份的数据库
source /root/edu.sql
## 弹出的提示输入y即可.
还原指定数据库
-- 恢复数据库
mysql -u username -P [dbname] < filename.sql
mysql -u root -p < C:\all.sql
还原所有数据库
# 如果使用--all-databases参数备份了所有的数据库,还原时不需要指定数据库
mysql -u root -p < C:\all.sql
mysqldump备份过程中避免锁表
## 添加 --skip-opt
mysqldump --skip-opt -u root --password=123456 dbname >mySQL.SQL
mysqldump不备份任何数据,只导出数据库表结构
# --no-data, -d
##不导出任何数据,只导出数据库表结构。
mysqldump -d -u root --password=123456 dbname tablename >mySQL.SQL
还原数据库方法2:
-- 先新建一个数据库
create database 数据库名;
-- 或
create schema 数据库名;
-- 指定数据库编码格式
CREATE DATABASE `test2` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
-- 进入空数据库
use 数据库名;
-- 还原数据库
source 备份的数据库.sql;
-- 弹出的提示按y
-- 查看还原的数据表
show tables;
相关文章
- MySQL中如何重命名数据库(mysql重命名数据库)
- MySQL环境配置指南:快速上手(mysql的环境配置)
- MySQL数据库备份实践指南(mysql的数据库备份)
- MySQL数据库的自动备份及邮件发送(mysql自动备份发送)
- 密码忘记忘记MySQL数据库用户名密码?不要慌!(mysql数据库用户名)
- MySQL权限管理:掌控你的数据库(mysql权限操作)
- MySQL全局定义:实现数据库全局连接(mysql全局定义)
- 「MySQL入门教程:快速学习数据库基础知识」(mysql的教程)
- MySQL数据库命令如何启动?(启动数据库命令mysql)
- Linux下重启MySQL数据库的操作方法(linux重启mysql)
- 学习MySQL课程:掌握数据库知识(mysql课程)
- PHP添加MySQL扩展:快速实现数据库连接(php添加mysql扩展)
- MySQL监听端口分析及更改方法(mysql监听的端口)
- MySQL如何进行笛卡尔积计算?(mysql的笛卡尔积)
- MySQL数据库在游戏开发中的应用(mysql游戏)
- VB程序实现MySQL数据库连接(vb连接mysql数据库)
- MySQL数据库设计指南:实现性能优化(mysql 数据库 设计)
- MySQL使用JDBC连接数据库的指南(mysql 的jdbc)
- 从CSV快速导入MySQL数据库(csv入mysql)
- MySQL数据库中db的全称是什么(mysql中db的全称)
- MySQL中CJ是什么探究MySQL数据库中CJ字段的用途(mysql中cj是什么)
- MySQL与C语言,各有不同的用途(c mysql不等于)
- MySQL常见不可使用的名称(mysql不可使用的名称)