mysqldump 导出与导入
导出数据库脚本(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。
等待脚本执行完成,数据库将被导入。
请注意,在导入数据库之前,确保没有重要的数据存在,因为导入脚本将覆盖数据库中的现有数据。在执行导入脚本之前,请确保已经备份了数据库。