如何导出数据库(mysql导出表)
平时在知识和检测系统软件的情况下,常常必须 转移数据库查询,数据量并不大的情况下,大家可以用mysql dump导出来sql,随后再导进,可是倘若里边有的表,数据量尤其大,例如logs表,上百万,用mysql_dump得话,必须 耗费很长期。可是logs并不一定数据信息。
下列脚本制作,能够全自动导出来schema和数据信息,还能够设定什么表skip掉,简易好用,共享给大伙儿。
#!/bin/bash
# 登录名
USER=root
# 登陆密码
PASSWORD=123456
# host
HOST=127.0.0.1
# 数据库查询名
DATABASE=database
RESULT_FOLDER百思特网=dump_files
SCHEMA_FILE=schema百思特网.sql
DATA_FILE=data.sql
# 设定什么表不导出数据,例如有的表尤其大,并且没有意义,logs
EXCLUDED_TABLES=(
logs
)
IGNORED_TABLES_STRING='
for TABLE in "${EXCLUDED_TABLES[@]}"
do :
IGNORED_TABLES_STRING =" --ignore-table=${DATABASE}.${TABLE}"
done
mk百思特网dir ${RESULT_FOLDER}
echo "start to dump schema from database ${DATABASE}"
mysqldump --host=${HOST} --user=${USER} --password=${PASSWORD} --single-transaction --no-data --routines ${DATABASE}