一、mysql导入文件或数据或执行相关SQL
mysql -h主机地址 -u用户名 -p用户密码
1. 文件形式。(shell命令行)
1
|
mysql
-u root -p dbname < filename.sql |
2. 直接放在命令行(shell命令行)执行一个sql
1
|
mysql
-hhostname -uusername -p dbname -e 'select
* from tbname limit 1' |
执行后命令行会提示输入数据库密码。:)
3. 把SQL作为一个输入给MYSQL(shell命令行)
1
|
echo
'select id from dbname.tbname where id = 1;'
| mysql -hhostname -ureadonly -preadonly dbname > xxxx.sql |
4. 进入mysql数据库(数据库中执行SQL文件)
1
|
> source
xxx.sql |
二、导出库表(mysqldump)
mysqldump -u用户名 -p密码 -h主机 数据库 a -w “sql条件” –lock-all-tables > 路径
1
|
mysqldump
-hhostname -uusername -p dbname tbname>xxxx.sql |
** 按指定条件导出数据库表内容。(-w选项 –where)
1
|
mysqldump
-hhostname -uusername-p dbname tbname -w 'id
>= 1 and id<= 10000' --skip-lock-tables
> xxxx.sql |
或
1
|
mysqldump
-hhostname -uusername -p dbname tbname --where= 'unit_id
>= 1 and unit_id <= 10000' >
~ /xxxx .sql |
mysqldump导出库表详细举例
1. 导出整个数据库
mysqldump -u 用户名 -p数据库名 > 导出的文件名
1
|
>mysqldump
-u breezelark-p mydb > mydb.sql |
2. 导出一个表(包括数据结构及数据)
mysqldump -u 用户名 -p数据库名 表名> 导出的文件名
1
|
mysqldump
-u lingxi -p mydb mytb> mytb.sql |
3. 导出一个数据库结构(无数据只有结构)
1
|
mysqldump
-u lingxi -p -d --add-drop-table mydb >mydb.sql |
-d 没有数据–add-drop-table 在每个create语句之前增加一个drop table