背景:
在进行数据报表的测试过程中,为了让我们的测试数据更加真实,因此我们需要同步生产数据到测试环境。方式有很多种,我这里介绍的是通过Linux完成数据同步。
备份数据:
执行命令:mysqldump -uxxx -pxxxx -h 127.0.0.1 --default-character-set=utf8 database_name > 备份之后的文件名,注意需要使用.sql拓展名,–default-character-set=utf8 是指定备份数据库的编码格式,避免出现中文乱码
注意:该命令直接在机器的命令行执行即可,无需进入数据库中,如果进入数据库执行会抛出异常。备份时间会因数据库大小变化,如果不指定备份文件存放的目录,备份文件会默认备份在当前路径下。
恢复数据:
在命令行执行命令登录mysql数据库:
mysql -uxxx -pxxxx -h 127.0.0.1 (-u:后紧跟登录数据库的用户名,-p紧跟密码,-h :数据库对应服务器的ip,注意-u 、-p 后的内容不能有空格)
命令:select version(); 查看当前数据库的版本,注意,需要()并且在语句后需要打分号
执行命令:show databases; 即可展示该机器下所有的数据库;如果想要切换数据库,执行命令:use database_name即可,切换之后,就可以在命令行对数据库进行操作。
切换至对应的数据库下后,执行命令:source /备份文件的路径/xxx.sql,即可完成数据恢复。
注意!恢复备份数据前,需要将原本的库备份一次,避免导入的mysqldump文件数据覆盖后,无法在恢复成最初的数据库。
学海无涯