当前位置:首页 » 操作系统 » linuxmysql数据库导出命令

linuxmysql数据库导出命令

发布时间: 2022-05-17 00:30:49

linux命令,mysql批量导出多个数据库。单个的是mysqlmp -uroot - p 库名 > /***/***.sql;

MySql的备份命令

myisam引擎
#mysqlmp -uroot -pxxx -A -B -F --master-data=2 -x --events >/opt/name.sql.gz
innodb引擎
#mysqlmp -uroot -pxxx -A -B -F --master-data=2 --events --single-transaction | gzip>/opt/name.sql.gz

--master-data 这个参数在建立slave数据库的时候会用到,当这个参数的值为1的时候,mysqlmp出来的文件就会包括CHANGE MASTER TO这个语句,CHANGE MASTER TO后面紧接着就是file和position的记录,file和position记录的位置就是slave从master端复制文件的起始位置。默认情况下这个值是1 当这个值是2的时候,chang master to也是会写到mp文件里面去的,但是不会有上面那个作用了 --master-data=1 (--master-data=2注释) 表示在mp过程中记录主库的binlog和pos点,并在mp文件中不注释掉这一行,即恢复时会执行; -F 切割binlog参数
-A 备份所有库 -B, --databases 备份数据时使用-B参数,会在备份数据中增加建库及use库的语句 使用-B参数,后面可以接多个库,否则只能有一个库,之后的都被认为是表
--single-transaction 适合innodb事务数据库备份(可代替锁表) 设置事务的隔离级别为可重复读,即REPEATABLE READ,这样能保证在一个事务中所有相同的查询读取到同样的数据,也就大概保证了在mp期间,如果其他innodb引擎的线程修改了表的数据并提交,对该mp线程的数据并无影响. :InnoDB 表在备份时,通常启用选项 --single-transaction 来保证备份的一致性,实际上它的工作原理是设定本次会话的隔离级别为:REPEATABLE READ,以确保本次会话(mp)时,不会看到其他会话已经提交了的数据。
-x,--lock-all-tables Locks all tables across all databases. This is achieved by taking a global read lock for the ration of thewhole mp. Automatically turns --single-transaction and --lock-tables off.
-l, --lock-tables Lock all tables for read.

② linux系统下的mysql导入导出

1 不停数据库写的情况下,也可以使用 mysqlmp 导出,但因为 mysqlmp 导出时会加表锁(lock tables table_name read;),导出过程中会阻塞写(应用程序的写数据库或其他情况的写),不会影响读。
2 导入一个备份后,还要继续同步备份的操作,那必须结合同步来进行,先导出导入数据(导出时注意加上 --master-data 选项,或导出前 show master status 记下日志名称和位置),再配置同步,并启动同步;
3 日志记录的编号,也就是 position,可以在导出前查询,也可以在导出时加 --master-data 选项一并进行;

-- 几个注意事项:
1 导出会加表锁(这是服务器级的读锁),如果数据库较大,可能会影响业务;较小的话,可以在数据库本机进行导出,时间很快;
2 大数据库一定要做个备份机(即replication的slave),同步会涉及到数据的一致性(备份、启用同步)问题,可以深入理解下;

③ 分别在Linux和Windows下,如何使用MySql命令导入/导出*.sql文件

一般服务器上没有分用户的时候mysql用户名可以用 "root"得到最高权限.
Ubuntu下使用MySql命令导入/导出*.sql文件( redhat的mysql命令在: /usr/local/mysql/bin/ 目录下面 )导出:
1.导出整个数据库
mysqlmp -u 用户名 -p密码 数据库名 > 导出的文件名
2.导出指定表
mysqlmp -u 用户名 -p密码 数据库名 表名1 表名2 ... > 导出的文件名
3.导出指定条件的记录
mysqlmp [--host=服务器] -u 用户名 -p密码 数据库名 表名 -w"条件语句" > 导出的文件名
4.如果带端口号的话,必须去掉密码:
mysqlmp [--host=服务器] [--port=端口号] -u 用户名 -p 数据库名 表名 -w"条件语句" [--skip-lock-tables ] > 导出的文件名导入:在提示符下输入
mysql -u root -p 密码
进入MYSQL后:
先打开要导入的数据库
mysql>use test;
然后,设置要导入的数据的编码(如果MySQL默认编与要导入的数据编码一致,此步可省略)
mysql>set names 编码格式(utf8或gbk);
最后,导入数据sql文件
mysql> source c:/test.sql;
Windows下使用MySql命令导入/导出*.sql文件1. 导出数据库:
D:\mysql\bin> mysql 数据库名 > 导出的文件名 -u 用户名 -p密码
2. 导入数据库:
D:\mysql\bin> mysql 数据库名 < 导出的文件名 -u 用户名 -p密码

④ linux怎么拷贝mysql数据库

1、MySQL数据库导出 /usr/local/mysql/bin/mysqlmp -u root -p123456 test> /home/backup/test.sql 其中:root为数据库用户名 123456为对应root数据库密码 test是需要导出的数据库名。 /home/backup/test.sql是数据库文件sql导出的路径。

⑤ linux 进入mysql 命令行模式怎么导出

1、在终端中输入mysql -u用户名 -p密码命令可以进行mysql命令行

2、如果密码有特殊字符就先mysql -u用户名 -p回车,然后提示输入密码后,再输入密码回车即可
3、mysql 其它参数说明:
mysql命令行参数
Usage: mysql [OPTIONS] [database] //命令方式
-?, --help //显示帮助信息并退出
-I, --help //显示帮助信息并退出
--auto-rehash //自动补全功能,就像linux里面,按Tab键出提示差不多,下面有例子

-A, --no-auto-rehash //默认状态是没有自动补全功能的。-A就是不要自动补全功能
-B, --batch //ysql不使用历史文件,禁用交互
(Enables --silent)
--character-sets-dir=name //字体集的安装目录
--default-character-set=name //设置数据库的默认字符集
-C, --compress //在客户端和服务器端传递信息时使用压缩
-#, --debug[=#] //bug调用功能
-D, --database=name //使用哪个数据库
--delimiter=name //mysql默认命令结束符是分号,下面有例子
-e, --execute=name //执行mysql的sql语句
-E, --vertical //垂直打印查询输出
-f, --force //如果有错误跳过去,继续执行下面的
-G, --named-commands
/*Enable named commands. Named commands mean this program's
internal commands; see mysql> help . When enabled, the
named commands can be used from any line of the query,
otherwise only from the first line, before an enter.
Disable with --disable-named-commands. This option is
disabled by default.*/
-g, --no-named-commands
/*Named commands are disabled. Use \* form only, or use
named commands only in the beginning of a line ending
with a semicolon (;) Since version 10.9 the client now
starts with this option ENABLED by default! Disable with
'-G'. Long format commands still work from the first
line. WARNING: option deprecated; use
--disable-named-commands instead.*/
-i, --ignore-spaces //忽视函数名后面的空格.
--local-infile //启动/禁用 LOAD DATA LOCAL INFILE.
-b, --no-beep //sql错误时,禁止嘟的一声
-h, --host=name //设置连接的服务器名或者Ip
-H, --html //以html的方式输出
-X, --xml //以xml的方式输出
--line-numbers //显示错误的行号
-L, --skip-line-numbers //忽略错误的行号
-n, --unbuffered //每执行一次sql后,刷新缓存
--column-names //查寻时显示列信息,默认是加上的
-N, --skip-column-names //不显示列信息
-O, --set-variable=name //设置变量用法是--set-variable=var_name=var_value
--sigint-ignore //忽视SIGINT符号(登录退出时Control-C的结果)
-o, --one-database //忽视除了为命令行中命名的默认数据库的语句。可以帮跳过日志中的其它数据库的更新。
--pager[=name] //使用分页器来显示查询输出,这个要在linux可以用more,less等。
--no-pager //不使用分页器来显示查询输出。
-p, --password[=name] //输入密码
-P, --port=# //设置端口
--prompt=name //设置mysql提示符
--protocol=name //使用什么协议
-q, --quick //不缓存查询的结果,顺序打印每一行。如果输出被挂起,服务器会慢下来,mysql不使用历史文件。
-r, --raw //写列的值而不转义转换。通常结合--batch选项使用。
--reconnect //如果与服务器之间的连接断开,自动尝试重新连接。禁止重新连接,使用--disable-reconnect。
-s, --silent //一行一行输出,中间有tab分隔
-S, --socket=name //连接服务器的sockey文件
--ssl //激活ssl连接,不激活--skip-ssl
--ssl-ca=name //CA证书
--ssl-capath=name //CA路径
--ssl-cert=name //X509 证书
--ssl-cipher=name //SSL cipher to use (implies --ssl).
--ssl-key=name //X509 密钥名
--ssl-verify-server-cert //连接时审核服务器的证书
-t, --table //以表格的形势输出
--tee=name //将输出拷贝添加到给定的文件中,禁时用--disable-tee
--no-tee //根--disable-tee功能一样
-u, --user=name //用户名
-U, --safe-updates //Only allow UPDATE and DELETE that uses keys.
-U, --i-am-a-mmy //Synonym for option --safe-updates, -U.
-v, --verbose //输出mysql执行的语句
-V, --version //版本信息
-w, --wait //服务器down后,等待到重起的时间
--connect_timeout=# //连接前要等待的时间
--max_allowed_packet=# //服务器接收/发送包的最大长度
--net_buffer_length=# //TCP / IP和套接字通信缓冲区大小。
--select_limit=# //使用--safe-updates时SELECT语句的自动限制
--max_join_size=# //使用--safe-updates时联接中的行的自动限制
--secure-auth //拒绝用(pre-4.1.1)的方式连接到数据库
--server-arg=name //Send embedded server this as a parameter.
--show-warnings //显示警告

⑥ LINUX查询Mysql数据库并导出为文件的脚本

1.导出整个数据库
mysqlmp -u 用户名 -p 数据库名 > 导出的文件名
mysqlmp -u root -p lossr > lossr.sql
2.导入数据库
常用source 命令
进入mysql数据库控制台,
如mysql -u root -p
mysql>use 数据库
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source /root/lossr.net.sql

⑦ linux下如何导入导出MySQL数据库

一、导出:用mysqlmp命令行命令格式mysqlmp -u 用户名 -p 数据库名 > 数据库名.sql范例:mysqlmp -u root -p abc > abc.sql (导出数据库abc到abc.sql文件) 提示输入密码时,输入该数据库用户名的密码。 二、导入:用mysql命令行命令格式mysql -u 用户名 -p 数据库名 三、直接COPY 如果数据库比较大,可以考虑用直接拷贝的方法,但不同版本和操作系统之间可能不兼容,要慎用。 3.1 将原始数据库用tar打包为一个文件 tar -zcvf mydb.tar.gz mydb 3.2 创建空数据库 3.3 解压在临时目录中解压,如:cd /tmptar -zxvf mydb.tar.gz 3.4 拷贝将解压后的数据库文件拷贝到相关目录cd mydb/cp * /var/lib/mysql/mydb/ 对于FreeBSD: cp * /var/db/mysql/mydb/ 3.5 权限设置 将拷贝过去的文件的属主改为mysql:mysql,权限改为660 chown mysql:mysql /var/lib/mysql/mydb/*

⑧ linux命令行下使用mysql,怎么导出查询的记录集

用命令select * from table into outfile 'xxx.txt';就可以把查询数据导出在当前数据库保存位置的xxx.txt文件里面了。
也可以直接在linux命令用mysql -h127.0.0.1 -uroot -pXXXX -P3306 -e"select * from table" > /tmp/test.txt

⑨ linux系统中mysql数据库的导入和导出

目的:将服务器的mysql中的数据导入到本地
设备:本地:Mac。
远程服务器:linux
使用ssh登录服务器
mysqlmp
-u
[username]
-p
[database_name]
>
[/path/mpfilename.sql]
例如:`mysqlmp
-u
root
-p
mywordpress
>
/var/mywordpress.sql
在Mac上使用软件filezilla将第2步导出的mywordpress.sql下载到本地
mysql
-u
[username]
-p
[database_name]
<
[mpfilename.sql]
其中,database_name需要是本地数据库中已存在的数据库,比如新建一个。

⑩ linux mysql如何导出数据

Linux下 MySql导出
1、导出整个数据库中的所有数据
mysqlmp -u userName -p dabaseName > fileName.sql
2、导出数据库中的某个表的数据
mysqlmp -u userName -p dabaseName tableName > fileName.sql
3、导出整个数据库中的所有的表结构
mysqlmp -u userName -p -d dabaseName > fileName.sql

【注】fileName.sql最好加上路径名

热点内容
百度文字识别编译 发布:2024-10-11 11:10:29 浏览:674
服务器封了ip 发布:2024-10-11 11:10:25 浏览:237
ae表达式修复脚本 发布:2024-10-11 11:10:25 浏览:198
流言传播算法 发布:2024-10-11 10:35:27 浏览:178
炉料存储图片 发布:2024-10-11 10:35:24 浏览:188
电脑配置低怎么开雷电 发布:2024-10-11 10:26:55 浏览:551
口袋妖怪日月服务器爆满了怎么办 发布:2024-10-11 10:18:13 浏览:974
加密勒索 发布:2024-10-11 10:04:53 浏览:39
存储卡有两个分区该怎么合并 发布:2024-10-11 09:26:50 浏览:912
安卓私密文件怎么隐藏 发布:2024-10-11 09:24:35 浏览:927