1、数据导出
1】导出一/多张表
导出某张表:
mysqldump -uroot -hxxx.xx.xx.xxx -pxxx -P3306 test_database test_table > /opt/test_table.sql
导出多张表:
mysqldump -uroot -hxxx.xx.xx.xxx -pxxx -P3306 test_database test_table1 test_table2> /opt/test_table.sql
或者简写成:
mysqldump -uroot -pxxx test_database test_table> /opt/test_table.sql
2】导出一/多个库
导出某个库:
mysqldump -uroot -hxxx.xx.xx.xxx -pxxx -P3306 test_database> /opt/test_database.sql
导出多个库:
mysqldump -uroot -hxxx.xx.xx.xxx -pxxx -P3306 test_database1 test_database2> /opt/test_database.sql
或者简写成:
mysqldump -uroot -pxxx test_database test_database> /opt/test_database.sql
2、数据迁入
1】登录服务器mysql
mysql -h xxx.xx.xx.xxx -P 3306 -u root -p /mysql -uroot -p
mysql -h xxx.xx.xx.xxx -P 3306 -u root -p
--接着输入密码
2】执行sql
use test; --选择数据库
select database(); --查看是否切换到指定数据库
source /opt/test.sql; --执行dump下来的文件
主要过程如下:
1、drop table if exists test_table.sql; --删表
2、create table test_table; --建表
3、lock tables test_table write; --锁表(禁止其他人写入)
4、insert into test_table xxx; --插入数据
5、unlock tables; --解锁
其他参数:
- 只导出表结构不导表数据,添加“-d”命令参数
mysqldump -uroot -h127.0.0.1 -pMrwhite@2021 -P3306 -d testdb game > game.sql
- 只导出表数据不导表结构,添加“-t”命令参数
mysqldump -uroot -h127.0.0.1 -pMrwhite@2021 -P3306 -d testdb game > game.sql
- 只导出testdb数据库的表结构
mysqldump -uroot -pMrwhite@2021 --no-data --databases testdb>database_testdb.sql
3、问题记录
有些时候直接输入命令可能不对
导出某个库:
mysqldump -uroot -hxxx.xx.xx.xxx -pxxx -P3306 test_database> /opt/test_database.sql
可能是由于-p紧接着的xxx中有乱码,导致没有识别出来。
故可以先省略-p后面的xxx,回车后让输入一次密码。