在Centos中使用命令导入导出超大型数据,以防止数据库卡库
导出整个数据库的所有数据
在linux命令行输入:
mysqldump -u userName -p databaseName > filename.sql
filename 最好在前面加上指定绝对路径,指定具体的保存地址
导出数据库中的某个表的数据
mysqldump -u userName -p -d databaseName tableName > filename.sql
导出整个数据库中某个表的表结构
在linux命令行下输入
mysqldump -u userName -p -d dabaseName tableName > fileName.sql
将数据导入mysql方法一:
导数据之前要先use 数据库,不然会报错
mysql -u root -p 回车 输入密码
source fileName.sql
注意fileName.sql要有路径名,例如:source /home/user/data/fileName.sql
将数据导入mysql方法二:
mysql -uroot -p database < fileName.sql
注意fileName.sql要有路径名
如果数据文件超级大,那么导入会无法导入或者导入超时,那是因为sql_mode的限制
这时候修改my.cnf文件可以解决
输入命令:vi /etc/my.cnf
添加 sql_mode =ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
再重启mysql :systemctl restart mysqld
重启后进入mysql,再使用方法一或方法二导入数据。导数据之前要先use 数据库
备注:如果navicat连接mysql报1146 - Table ‘performance_schema.session_variables’ doesn’t exist,执行: mysql_upgrade -u root -p --force 来升级服务器版本