文章介绍了在windows利用mysqldump进行数据导入导出数据进行备份在linux中直接复制文件的进行数据备份和数据恢复的方法。
windows下导入数据
(一)导出
命令:mysqldump -u 用户名 -p 数据库名 > 文件名
如果用户名需要密码,则需要在此命令执行后输入一次密码核对;如果数据库用户名不需要密码,则不要加“-p”参数,导入的时候相同。注意输入的用户名需要拥有对应数据库的操作权限,否则无法导出数据。由于是作系统维护和全部数据库的导出,一般我们使用root等超级用户权限。
比如要将abc这个数据库导出为一个文件名为db_abc.sql的数据库文件到当前目录下,则输入下面的命令:
#mysqldump -u root -p abc > db_abc.sql
如果要直接导出sql.zip或者gzip格式文件命令如下:
进入 mysqlbin>目录下: mysqldump -u root -p b766951_apple >gzip > XX.sql.gzip
Enter password: ********
接下来输入root用户的密码即可导出数据库。
(二)导入
命令:mysql -u 用户名 -p 数据库名
同mysqldump命令一样的用法,各参数的意义同mysqldump。
比如我们要将/root/backup/db_abc.sql这个文件的数据导入到abc数据库中,则使用下面的命令:
#mysql -u root -p abc
linux中导入数据
如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和操作系统之间可能不兼容,要慎用。
3.1 准备原始文件
用tar打包为一个文件
3.2 创建空数据库
3.3 解压
在临时目录中解压,如:
cd /tmp
tar zxf mydb.tar.gz
3.4 拷贝
将解压后的数据库文件拷贝到相关目录
cd mydb/
cp * /var/lib/mysql/mydb/
对于FreeBSD:
cp * /var/db/mysql/mydb/
3.5 权限设置
将拷贝过去的文件的属主改为mysql:mysql,权限改为660
chown mysql:mysql /var/lib/mysql/mydb/*
chmod 660 /var/lib/mysql/mydb/*
把mysqldump出来的数据修改一下。除了要把表增加上) TYPE=MyISAM CHARACTER SET gbk;以外,在下面再增加一句SET NAMES GBK;
这样,数据就可以平滑的导入4.1了,而不必怕出现乱码。