mysqldump 导出与导入

发布时间 2023-07-31 15:30:55作者: 武平宁

导出数据库脚本(export.sh):

#!/bin/bash

# 数据库连接信息
DB_HOST="localhost"
DB_USER="root"
DB_PASSWORD="password"
DB_NAME="your_database_name"

# 导出表结构和表数据到文件
mysqldump -h $DB_HOST -u $DB_USER -p$DB_PASSWORD --no-data --skip-lock-tables $DB_NAME > structure.sql
mysqldump -h $DB_HOST -u $DB_USER -p$DB_PASSWORD --no-create-info --skip-triggers $DB_NAME > data.sql

echo "导出完成,表结构保存在structure.sql文件中,表数据保存在data.sql文件中。"

导入数据库脚本(import.sh):

#!/bin/bash

# 数据库连接信息
DB_HOST="localhost"
DB_USER="root"
DB_PASSWORD="password"
DB_NAME="your_database_name"

# 导入表结构和表数据
mysql -h $DB_HOST -u $DB_USER -p$DB_PASSWORD $DB_NAME < structure.sql
mysql -h $DB_HOST -u $DB_USER -p$DB_PASSWORD $DB_NAME < data.sql

echo "导入完成。"

请注意,你需要将上述脚本中的"your_database_name"替换为你要导入和导出的实际数据库名称。另外,为了安全起见,确保只有具备足够权限的用户可以访问和执行这些脚本。

在运行这些脚本之前,请确保MySQL已经正确安装并运行,并且Shell脚本具有执行权限。你可以通过chmod +x export.sh和chmod +x import.sh给予脚本执行权限。

使用方法:

打开终端并切换到脚本所在目录。

运行导出脚本:./export.sh。

等待脚本执行完成,导出的表结构保存在structure.sql文件中,表数据保存在data.sql文件中。

如果需要导入数据库,请将导出的structure.sql和data.sql文件放在脚本同一目录下,并运行导入脚本:./import.sh。

等待脚本执行完成,数据库将被导入。

请注意,在导入数据库之前,确保没有重要的数据存在,因为导入脚本将覆盖数据库中的现有数据。在执行导入脚本之前,请确保已经备份了数据库。