导出 数据库表 结构(不导出数据)
mysqldump -h主机名 -P端口号 -u用户名 -p密码 -d 数据库名 表名 > ./xxxx.sql
导出数据库中指定表的结构
导出 数据库 结构(不导出数据)
mysqldump -h主机名 -P端口号 -u用户名 -p密码 -d 数据库名 > ./xxx.sql
导出该数据库下的所有表结构
导出 数据库表 结构(导出数据 不加 -d)
mysqldump -h主机名 -P端口号 -u用户名 -p密码 数据库名 表名 > ./xxxx.sql
导出 数据库 结构(导出数据 不加 -d)
mysqldump -h主机名 -P端口号 -u用户名 -p密码 数据库名 > ./xxx.sql
导出 数据库 多个表 结构(导出数据 不加 -d)
mysqldump -h主机名 -P端口号 -u用户名 -p密码 数据库名 表名1 表名2 表名3> ./xxx.sql
全量导入数据库
到处的是.sql文件,直接在mysql下执行即可,不过导入的是数据表而不是库,所以导入前需要自己选择一个db;
use my_database;
source /home/mydir/xxx.sql;
也可以在mysql命令行直接选择具体数据库进行导入:
mysql -uroot -pmypassword database_name < dumpfile.sql
mysql查询结果导出/输出/写入到文件
方法一:直接执行命令:mysql> select count(1) from table into outfile '/tmp/test.xls';
Query OK, 31 rows affected (0.00 sec)
在目录/tmp/下会产生文件test.xls
遇到的问题:mysql> select count(1) from table into outfile '/data/test.xls';报错:ERROR 1 (HY000): Can't create/write to file '/data/test.xls' (Errcode: 13)可能原因:mysql没有向/data/下写的权限
方法二:查询都自动写入文件:mysql> pager cat > /tmp/test.txt ;
PAGER set to 'cat > /tmp/test.txt'之后的所有查询结果都自动写入/tmp/test.txt',并前后覆盖
mysql> select * from table ;30 rows in set (0.59 sec)
在框口不再显示查询结果
方法三:跳出mysql命令行[root@SHNHDX63-146 ~]# mysql -h 127.0.0.1 -u root -p XXXX -P 3306 -e "select * from table" > /tmp/test/txt