MySQL 大文件导入导出
大SQL文件导入
设变量 max_allowed_packet 也可以导入时临时设置
[root@localhost ~]# vi /etc/my.nf [mysqld] #mysqld 下 追加一行配置(安装时已配好,忽略此操作) max_allowed_packet=32M #大文件导入时用,也可以在命令行中临时设置
开始导入(下面命令包含了临时设变量)
[root@localhost ~]# cd /usr/local/mysql/bin [root@localhost bin]# ./mysql -uroot -p123456 #查看 mysql>show VARIABLES like '%max_allowed_packet%'; #临时设置,MySQL 服务重启后,恢复,服务器不重启只需要执行一次 mysql>set global max_allowed_packet = 2*1024*1024*10; #退出 mysql>exit; 重新登录 [root@localhost bin]# ./mysql -uroot -p123456 #查看改后的值 mysql>show VARIABLES like '%max_allowed_packet%'; #选择数据库 mysql>use abc; #设置数据库编码 mysql>set names utf8; #导入数据(注意sql文件的路径) mysql>source /data/abc.sql;
【导出】
安全考虑,密码没跟在P后面
[root@localhost ~]# cd /usr/local/mysql/bin/ 1、导出数据和表结构: [root@localhost bin]# ./mysqldump -uroot -p pis_jkwsk > /data/pis_jkwsk.sql Enter password: [root@localhost bin]# ll /tmp/ 2、导出指定表结构和数据 [root@localhost bin]# ./mysqldump -uroot -p pis_jkwsk ELB_MENUS > /data/pis_jkwsk.sql Enter password: [root@localhost bin]# ll /tmp/ 3、导出排 除XX表,其它表的结构和数据,--ignore-table=<database>.<table> [root@localhost bin]# ./mysqldump -uroot -p pis_jkwsk --ignore-table=pis_jkwsk.表1 --ignore-table=pis_jkwsk.表2 > /data/pis_jkwsk.sql Enter password: [root@localhost bin]# ll /tmp/ 4、导出指定一个或多个表结构和数据 [root@localhost bin]# ./mysqldump -uroot -p pis_jkwsk 表1 表2 > /data/pis_jkwsk.sql Enter password: [root@localhost bin]# ll /tmp/ 5、根据条件,导出指定表结构和数据 [root@localhost bin]# ./mysqldump -uroot -p pis_jkwsk ELB_MENUS --where=" ID='1071' and MENU_LEVEL=1"> /data/pis_jkwsk.sql Enter password: [root@localhost bin]# ll /tmp/ 6、只导出所有表结构 [root@localhost bin]# ./mysqldump -uroot -p -d pis_jkwsk > /data/pis_jkwsk.sql Enter password: [root@localhost bin]# ll /tmp/ 7、只导出指定表结构 [root@localhost bin]# ./mysqldump -uroot -p -d pis_jkwsk ELB_MENUS> /data/pis_jkwsk.sql Enter password: [root@localhost bin]# ll /tmp/