mysql语法相关

# 导入/导出 MySQL

# 导出数据库

# 导出完整数据:表结构+数据

Linux 下可以使用 mysqldump 命令来导出数据库,语法格式如下:

mysqldump -u用户名 -p 数据库名 > 数据库名.sql
1

以下命令可以导出 abc 数据库的数据和表结构:

# /usr/local/mysql/bin/mysqldump -uroot -p abc > abc.sql
1

按下回车键后会提示输入密码,输入即可。

**注意:**mysqldump 命令路径是根据你 MySQL 安装路径决定的。

# 只导出表结构

如果你只需要导出 MySQL 的数据表结构,可以使用 -d 选项,格式如下:

mysqldump -u用户名 -p -d 数据库名 > 数据库名.sql
1

以下命令可以导出 abc 数据库的表结构:

#/usr/local/mysql/bin/mysqldump -uroot -p -d abc > abc.sql
1

# mysqldump选项说明

参数名 缩写 含义
--host -h 服务器IP地址
--port -P 服务器端口号
--user -u MySQL 用户名
--pasword -p MySQL 密码
--databases 指定要备份的数据库
--all-databases 备份mysql服务器上的所有数据库
--compact 压缩模式,产生更少的输出
--comments 添加注释信息
--complete-insert 输出完成的插入语句
--lock-tables 备份前,锁定所有数据库表
--no-create-db/--no-create-info 禁止生成创建数据库语句
--force 当出现错误时仍然继续备份操作
--default-character-set 指定默认字符集
--add-locks 备份数据库表时锁定数据库表

# 导入数据库

# 使用 mysql 命令导入

使用 mysql 命令导入数据库格式如下:

mysql -u用户名 -p 数据库名 < 数据库名.sql
1

以下实例将备份的数据库 abc.sql 导入到数据库中:

# mysql -uroot -p123456 < abc.sql
1

涉及到密码相关的,要

# 使用 source 命令导入

使用 source 命令需要我们先登录到 mysql 中,并创建一个空的数据库:

mysql> create database abc;      # 创建数据库
mysql> use abc;                  # 使用已创建的数据库 
mysql> set names utf8;           # 设置编码
mysql> source /home/abc/abc.sql  # 导入备份数据库
1
2
3
4

注意你备份的 sql 文件路径。

# -e参数导入【特殊】

#方式二
mysql -uroot -pPxxx mysql < /srv/app/portal/dataportal.sql
#方式一
mysql -uroot -pxxxx -e "
source /srv/app/dataportal/dataportal.sql;
quit
"
1
2
3
4
5
6
7

# 使用 LOAD DATA 导入数据

mysql> LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl
  -> FIELDS TERMINATED BY ':'
  -> LINES TERMINATED BY '\r\n';
1
2
3

# 使用 mysqlimport 导入数据

mysqlimport 客户端提供了 LOAD DATA INFILEQL 语句的一个命令行接口。mysqlimport 的大多数选项直接对应 LOAD DATA INFILE 子句。

从文件 dump.txt 中将数据导入到 mytbl 数据表中, 可以使用以下命令:

$ mysqlimport -u root -p --local mytbl dump.txt
password *****
1
2

# 总括

备份实例

备份所有数据库:

mysqldump -uroot -p --all-databases > /backup/mysqldump/all.db
1

备份指定数据库:

mysqldump -uroot -p test > /backup/mysqldump/test.db
1

备份指定数据库指定表(多个表以空格间隔)

mysqldump -uroot -p  mysql db event > /backup/mysqldump/2table.db
1

备份指定数据库排除某些表

mysqldump -uroot -p test --ignore-table=test.t1 --ignore-table=test.t2 > /backup/mysqldump/test2.db
1

# 还原命令

系统行命令

mysqladmin -uroot -p create db_name 
mysql -uroot -p  db_name < /backup/mysqldump/db_name.db

注:在导入备份数据库前,db_name如果没有,是需要创建的; 而且与db_name.db中数据库名是一样的才可以导入。
1
2
3
4

soure 方法

mysql > use db_name
mysql > source /backup/mysqldump/db_name.db
1
2

# 参考链接

上次更新: 2022/04/15, 05:41:31
×