想将A服务器中的数据库快速转移到B服务器中,一般是先从A服务器中备份下来,下载备份数据,还原到B服务器中。使用phpMyAdmin备份和还原针对数据量很小的情况下很方便,数据量大的话很容易中断失败。
如何快速高效的将大数据转移到另一个服务器呢?综合起来使用命令行的方式效率最高。
关键词:MYSQL数据库,mysql备份,mysql还原,数据库备份,数据库还原。
数据库A账户信息
服务器地址:127.0.0.1
用户名:username,密码:password,数据库名:dbname
数据库B账户信息
服务器地址:127.0.0.2
用户名:usernameb,密码:passwordb,数据库名:dbnamenew
常规步骤命令行:
备份并压缩
mysqldump -uusername -ppassword dbname | gzip > /data/wwwroot/www/dbname.sql.gz
解压并还原
gunzip < /root/dbname.sql.gz | mysql -uusernameb -ppasswordb dbnamenew
最佳方式介绍
还有一种直接将数据库A直接转移到数据库B的方式(在服务器A中执行)
mysqldump --default-character-set=utf8mb4 --host=127.0.0.1 -uusername -ppassword --opt dbname | mysql --host=127.0.0.2 -uusernameb -ppasswordb --default-character-set=utf8mb4 -C dbnamenew
备注 (来此加密(https://letsencrypt.osfipin.com):免费简单的申请Let’s Encrypt证书,不需要搭建服务器环境。)
1.必须保证服务器B的数据库能够服务器A访问
2.--opt命令可选,建议加上。等同于指定 --add-drop-tables--add-locking --create-option --disable-keys--extended-insert --lock-tables --quick --set-charset。它可以给出很快的转储操作并产生一个可以很快装入MySQL服务器的转储文件。
3.--default-character-set=utf8mb4 指定该数据库连接的字符类型。如果服务器默认未utf8的话,导出的数据可能会丢失四字节的unicode信息(表情之类的)
4.-C 客户端和服务器之间启用压缩传递所有信息。当然得要有咯。
mysql通过命令行快速转移数据库,一个命令(mysqldump)完成数据备份还原。