linux导出mysql数据库

人气:436 ℃/2023-02-15 01:23:55

linux如何导出mysql数据库中的数据?我们一起来了解一下吧。

1、输入“mysqldump -u root -p mysql > /tmp/mysqlbackup.sql”将名为mysql的数据库的数据和表结构导出/tmp命令下并命名为mysqlbackup.sql。

注意:本例中为举例方便起见保存到/tmp目录下,实际操作中请确保存放到安全的目录下。

2、.输入root的密码并按回车键确定。

注意:因mysqldump默认不会导出事件表,所以弹出警告:-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.

3、如需避免此警告则输入“mysqldump -u root -p --events --ignore-table=mysql.event mysql > /tmp/mysqlbackup1.sql”并按回车键确定。

注意:为区别起见将此备份文件命名为mysqlbackup1.sql。

4.输入密码并按回车键确定。

5、如需只导出表结构则加上“-d”参数,即输入“mysqldump -u root -p -d mysql > /tmp/mysqlbackup2.sql”并输入密码确定。

以上就是小编的分享,希望能帮到大家。

linux mysql导出所有数据库

用shell脚本,批量备份MySQL中所有数据库,并批量还原

1,环境介绍

生产环境通常只有一个数据库,但是其他环境,测试可能不止一个数据库。需要换数据库时,就需要一个一个的备份,一两个还好,多的话就有点繁琐。

如果说直接备份整个数据库,可能将原来的系统数据库也备份过去了,而用不需要原来的系统数据库('information_schema', 'mysql', 'performance_schema', 'sys'),这是用脚本就方便多了。

2,批量备份数据库脚本

#!/bin/bash# MySQL 连接配置USER="root"PASSWORD="qwe123456"HOST="192.168.200.101"#备份路径OUTPUT_DIR="/home/ubuntu/backup"# 获取非系统数据库的列表DATABASES=$(mysql -u $USER -p$PASSWORD -h $HOST -e "SELECT schema_name FROM information_schema.schemata WHERE schema_name NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys');" -s --skip-column-names)# 备份每个数据库for DB in $DATABASES; do echo "Backing up database: $DB" mysqldump -u $USER -p$PASSWORD -h $HOST --set-gtid-purged=OFF --databases $DB > "$OUTPUT_DIR/$DB.sql"doneecho "Backup completed!

上面备份命令,按需求添加参数,如这里用的--set-gtid-purged=OFF 不需要原来的GTID(全局事务标识符),我这里如果不加这个参数,还原报错。

ERROR 3546 (HY000) at line 24: @@GLOBAL.GTID_PURGED cannot be changed: the added gtid set must not overlap with @@GLOBAL.GTID_EXECUTED

所以加了--set-gtid-purged=OFF参数就行了。

mysqldump -u $USER -p$PASSWORD -h $HOST --set-gtid-purged=OFF --databases3,还原数据库脚本

还原数据库,第一步,还是需要在新数据库手动创建数据库。

CREATE DATABASE your_database_name;

还原数据库脚本

#!/bin/bash# MySQL 连接配置USER="your_username"PASSWORD="your_password"HOST="localhost"#备份sql的文件路径INPUT_DIR="/path/to/backup/"# 遍历备份目录中的所有 .sql 文件并导入for FILE in $INPUT_DIR/*.sql; do DB_NAME=$(basename "$FILE" .sql) echo "Restoring database: $DB_NAME from $FILE" mysql -u $USER -p$PASSWORD -h $HOST $DB_NAME < "$FILE"doneecho "Restoration completed!"

以上还原命令,也可以根据实际情况来修改参数

mysql -u $USER -p$PASSWORD -h $HOST $DB_NAME

推荐

首页/电脑版/网名
© 2025 NiBaKu.Com All Rights Reserved.