MySQL之mysql_相关命令总结

本文详细介绍了MySQL中的常用命令,包括mysql、mysqladmin和mysqlshow等工具的使用方法,以及如何利用这些工具进行数据库管理和维护。此外,还介绍了mysqlbinlog命令在日志管理中的应用,以及mysqldump命令的各种参数选项,帮助读者更好地掌握MySQL的使用技巧。

 

总结命令

 

1. mysql命令

1.1 直接连接登录mysql

# mysql -uroot -p1111111

 

1.2 使用socket方式登录-S

----多用于多实例登录

# mysql -uroot -p1111111 -S /mysqldata/3308/mysql3308.sock

 

1.3 使用TCP方式指定主机登录-h

mysql> show databases like '%zhong';

mysql> grant all on db_zhong.* to 'shaw'@'192.168.12.%' identified by '111111';

mysql> flush privileges;

 

# mysql -ushaw -p111111 -h192.168.12.55

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| db_zhong           |

+--------------------+

2 rows in set (0.00 sec)

 

1.4 使用TCP方式指定端口登录-P

# mysql -uroot -p1111111 -P3308

# mysql -ushaw -p111111 -h192.168.12.55 -P3306

 

1.5 与mysql交互式执行命令-e

# mysql -uroot -p111111 -e "show full processlist;"

# mysql -uroot -p111111 -e "show variables;"|grep log_bin

# mysql -uroot -p111111 -e "show global status;"|grep Slow

 

 

2. mysqladmin命令

refencen    https://www.cnblogs.com/kevingrace/p/6151066.html

 

mysqladmin 工具的使用格式:

mysqladmin [option] command [command option] command ......

参数选项:

-c number 自动运行次数统计,必须和 -i 一起使用

-i number 间隔多长时间重复执行

 

2.1 每秒查看一次mysql状态,共重复5次

# mysqladmin -uroot -p1111111 -i 2 -c 5 status

# mysqladmin -uroot -p1111111 –i2 –c5 status

 

2.2 查看mysql状态

# mysqladmin -uroot -p111111 status

Uptime: 2649  Threads: 1  Questions: 30  Slow queries: 0  Opens: 41  Flush tables: 1  Open tables: 4  Queries per second avg: 0.011

 

2.3 修改root密码

# mysqladmin -uroot -p原密码 password '新密码'

 

2.4 检查mysql服务是否可用

# mysqladmin -uroot -p111111 ping

mysqld is alive

 

2.5 查看mysql版本

# mysqladmin -uroot -p111111 version

mysqladmin  Ver 8.42 Distrib 5.5.32, for Linux on x86_64

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Server version          5.5.32-log

Protocol version        10

Connection              Localhost via UNIX socket

UNIX socket             /app/mysql-5.5.32/tmp/mysql.sock

Uptime:                 47 min 23 sec

 

Threads: 1  Questions: 39  Slow queries: 0  Opens: 42  Flush tables: 1  Open tables: 4  Queries per second avg: 0.013

 

2.6 查看mysql当前状态值

# mysqladmin -uroot -p111111 extended-status

# mysqladmin -uroot -p111111 extended-status|grep Slow

| Slow_launch_threads                      | 0           |

| Slow_queries                             | 0           |

 

2.7 查看mysql系统变量值

# mysqladmin -uroot -p111111 variables

# mysqladmin -uroot -p111111 variables|grep log_bin

| log_bin                                       | ON

| log_bin_trust_function_creators                   | OFF                                                                                                                    

| sql_log_bin                                    | ON                                                                                                                    

 

2.8 查看运行的所有进程

# mysqladmin -uroot -p111111 processlist

 

## 每秒刷新一次

# mysqladmin -uroot -p111111 processlist -i1

 

2.9 创建及删除数据库

## 创建数据库

# mysqladmin -uroot -p111111 create data_test

# mysql -uroot -p111111 -e "show databases;"|grep data

data_test

 

## 删除数据库

# mysqladmin -uroot -p111111 drop data_test

 

2.10 重载权限信息

# mysqladmin -uroot -p111111 reload

 

2.11 刷新所有表缓存,并关闭和打开log

# ll *bin* -lrht

-rw-rw---- 1 mysql mysql  636 Jan  8 22:51 mysql-bin.000007

 

# mysqladmin -uroot -p111111 refresh

 

## 出现新的log bin

# ll *bin* -lrht

-rw-rw---- 1 mysql mysql  152 Jan  8 22:53 mysql-bin.index

-rw-rw---- 1 mysql mysql  107 Jan  8 22:53 mysql-bin.000008

 

#mysql -uroot -p111111 -e "show global variables"|grep log_bin

log_bin ON

log_bin_trust_function_creators OFF

sql_log_bin     ON

 

2.12 安全模式关闭数据库

# mysqladmin -uroot -p111111 shutdown


## 启动

# mysqld_safe --user=mysql&

# netstat -nltpd |grep mysql

 

2.13 刷新命令mysqladmin flush commands

# mysqladmin -uroot -p111111 flush-hosts

# mysqladmin -uroot -p111111 flush-logs

# mysqladmin -uroot -p111111 flush-privileges

# mysqladmin -uroot -p111111 flush-status

# mysqladmin -uroot -p111111 flush-tables

# mysqladmin -uroot -p111111 flush-threads

 

2.14 mysql中kill进程

# mysqladmin -uroot -p111111 processlist

# mysqladmin -uroot -p111111 kill idnum

 

2.15 启动停止mysql replication on a slave server

# mysqladmin -uroot -p111111 start-slave

# mysqladmin -uroot -p111111 stop-slave

 

2.16 同时执行多个命令

# mysqladmin -uroot -p111111 process status version

 

 

 

2.17 脚本----统计dml每秒操作情况

 

mysqladmin -P3306 -uroot -p -h127.0.0.1 -r -i 1 ext |\

awk -F"|" \

"BEGIN{ count=0; }"\

'{ if($2 ~ /Variable_name/ && ++count == 1){\

    print "----------|---------|--- MySQL Command Status --|----- Innodb row operation ----|-- Buffer Pool Read --";\

    print "---Time---|---QPS---|select insert update delete|  read inserted updated deleted|   logical    physical";\

}\

else if ($2 ~ /Queries/){queries=$3;}\

else if ($2 ~ /Com_select /){com_select=$3;}\

else if ($2 ~ /Com_insert /){com_insert=$3;}\

else if ($2 ~ /Com_update /){com_update=$3;}\

else if ($2 ~ /Com_delete /){com_delete=$3;}\

else if ($2 ~ /Innodb_rows_read/){innodb_rows_read=$3;}\

else if ($2 ~ /Innodb_rows_deleted/){innodb_rows_deleted=$3;}\

else if ($2 ~ /Innodb_rows_inserted/){innodb_rows_inserted=$3;}\

else if ($2 ~ /Innodb_rows_updated/){innodb_rows_updated=$3;}\

else if ($2 ~ /Innodb_buffer_pool_read_requests/){innodb_lor=$3;}\

else if ($2 ~ /Innodb_buffer_pool_reads/){innodb_phr=$3;}\

else if ($2 ~ /Uptime / && count >= 2){\

  printf(" %s |%9d",strftime("%H:%M:%S"),queries);\

  printf("|%6d %6d %6d %6d",com_select,com_insert,com_update,com_delete);\

  printf("|%6d %8d %7d %7d",innodb_rows_read,innodb_rows_inserted,innodb_rows_updated,innodb_rows_deleted);\

  printf("|%10d %11d\n",innodb_lor,innodb_phr);\

}}'

 

 

3. mysqlshow命令

3.1 显示所有数据库

# mysqlshow -uroot -p111111

 

3.2 显示数据库shaw_gbk中有哪些表

# mysqlshow -uroot -p111111 shaw_gbk

 

3.3 统计数据库shaw_gbk中表列的汇总

# mysqlshow -uroot -p111111 shaw_gbk -v

 

3.4 统计数据库shaw_gbk中表列数及行数

# mysqlshow -uroot -p111111 shaw_gbk -v -v

 

 

4. mysqlbinlog命令

--start-datetime 开始时间

--stop-datetime 结束时间

--database=resource 选择数据库

--result-file 结果输出到某个文件

--base64-output=decode-rows –verbose

4.1 开启binlog

修改mysql配置文件mysql.ini,在[mysqld]节点下添加

log-bin=mysql-bin

 

路径中不要包含中文和空格。重启mysql服务。通过命令行停止和启动mysql服务

# mysql -uroot -p111111 -e "show global variables;"|grep log_bin

log_bin ON

log_bin_trust_function_creators OFF

sql_log_bin     ON

 

日志成功开启后,会在data目录下创建mysql-bin.index和mysql-bin.000001两个文件。mysql-bin.000001就是数据库的备份文件,以后就可以通过此文件对数据库进行恢复操作。

 

4.2 查看日志的二进制文件

# mysqlbinlog /app/mysql/data/mysql-bin.000001

## 在MySQL5.5以下版本使用mysqlbinlog命令时如果报错,就加上 “--no-defaults”选项

 

4.3 导出日志

# mysqlbinlog /app/mysql/data/mysql-bin.000001 >/root/mysql_log.sql

-- 追加日志

# mysqlbinlog /app/mysql/data/mysql-bin.000002 >>/root/mysql_log.sql

 

-- 按指定位置导出[at]

# mysqlbinlog --start-position=185 --stop-position=338 /log/logbin.000001 > /log/log3.txt

注: server id 1     数据库主机的服务号

end_log_pos 665  pos点

thread_id=11    线程号

 

-- 按指定时间导出

# mysqlbinlog --start-datetime="2018-01-08 11:25:56" --stop-datetime="2018-01-08 13:23:50" /log/logbin.000001 > /log/log_by_date22.txt

 

4.4 恢复logbin日志到mysql

-- 恢复日志

# mysqlbinlog /log/logbin.000001 | mysql -u root -p

 

-- 指定位置恢复

# mysqlbinlog --start-position=185 --stop-position=338 /log/logbin.000001 | mysql -u root -p

 

-- 指定时间恢复

# mysqlbinlog --start-datetime="2018-01-07 11:25:56" --stop-datetime="2018-01-07 13:23:50" /log/logbin.000001 | mysql -u root -p

 

-- 通过导出的脚本文件恢复

# mysql -uroot -p111111 -e "source /log/log.sql"

# mysql -uroot -p111111 <log.sql

 

4.5 查看及操作日志

-- 查看所有日志文件列表

mysql> show master logs;

+------------------+-----------+

| Log_name         | File_size |

+------------------+-----------+

| mysql-bin.000001 |       217 |

+------------------+-----------+

 

## 查看master状态,即最后(最新)一个binlog日志的编号名称,及其最后一个操作事件pos结束点(Position)值

mysql> show master status;

+------------------+----------+--------------+------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000001 |      107 |              |                  |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

 

-- 查看当前使用的binlog日志

mysql> show binlog events\G

*************************** 1. row ***************************

   Log_name: mysql-bin.000001

        Pos: 4

 Event_type: Format_desc

  Server_id: 1

End_log_pos: 107

       Info: Server ver: 5.5.32-log, Binlog ver: 4

*************************** 2. row ***************************

   Log_name: mysql-bin.000001

        Pos: 107

 Event_type: Query

  Server_id: 1

End_log_pos: 217

       Info: use `shaw_gbk`; create table t1 as select * from mysql.user

2 rows in set (0.00 sec)

 

-- 产生一个新的binlog日志

mysql> flush logs;

Query OK, 0 rows affected (0.01 sec)

 

mysql> show master logs;

+------------------+-----------+

| Log_name         | File_size |

+------------------+-----------+

| mysql-bin.000001 |       260 |

| mysql-bin.000002 |       107 |

+------------------+-----------+

 

-- 指定查询mysql-bin.000002这个文件

mysql> show binlog events in 'mysql-bin.000002'\G

*************************** 1. row ***************************

   Log_name: mysql-bin.000002

        Pos: 4

 Event_type: Format_desc

  Server_id: 1

End_log_pos: 107

       Info: Server ver: 5.5.32-log, Binlog ver: 4

1 row in set (0.00 sec)

 

## 指定查询 mysql-bin.000021 这个文件,从pos点:8224开始查起:

mysql> show binlog events in 'mysql-bin.000021' from 8224\G;

 

## 指定查询 mysql-bin.000021 这个文件,从pos点:8224开始查起,查询10条

mysql> show binlog events in 'mysql-bin.000021' from 8224 limit 10\G;

 

## 指定查询 mysql-bin.000021 这个文件,从pos点:8224开始查起,偏移2行,查询10条

mysql> show binlog events in 'mysql-bin.000021' from 8224 limit 2,10\G;

 

 

-- 删除二进制日志,并从新开始记录

---- 注意 reset master命令会删除所有二进制日志

mysql> flush logs;

Query OK, 0 rows affected (0.01 sec)

mysql> reset master;

Query OK, 0 rows affected (0.03 sec)

mysql> show master logs;

+------------------+-----------+

| Log_name         | File_size |

+------------------+-----------+

| mysql-bin.000001 |       107 |

+------------------+-----------+

1 row in set (0.00 sec)

 

http://blog.youkuaiyun.com/nuli888/article/details/52117646

 

 

4.6 mysql binlog的三种模式

mysql的binlog有3种记录模式STATEMENT,ROW,MIXED

 

Statement:基于sql语句的复制

优点:不需要记录每一行的变化,减少了binlog日志量,节约了IO,提高性能

缺点:

 

ROW:基于行的复制

优点:所有的语句都可以复制,不记录执行的sql语句的上下文相关的信息,仅需要记录那一条记录被修改成什么了

缺点:binlog 大了很多,复杂的回滚时 binlog 中会包含大量的数据;主服务器上执行update语句时,所有发生变化的记录都会写到 binlog 中,而Statement只会写一次

 

MIXED:混合模式复制,

优点:结合Statement和ROW的优点,会根据执行的每一条具体的sql语句来区分对待记录的日志形式,也就是在Statement和Row之间选择一种,推荐使用

 

## 查看当前binlog的格式

mysql> show variables like 'binlog_format';

+---------------+-----------+

| Variable_name | Value     |

+---------------+-----------+

| binlog_format | STATEMENT |

+---------------+-----------+

 

 

5. mysqldump命令

5.1 参数详解

--all-databases , -A

导出全部数据库。

 

--all-tablespaces , -Y

导出全部表空间。

 

--no-tablespaces , -y

不导出任何表空间信息。

 

--add-drop-database

每个数据库创建之前添加drop数据库语句。

 

--add-drop-table

每个数据表创建之前添加drop数据表语句。(默认为打开状态,使用--skip-add-drop-table取消选项)

 

--add-locks

在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(默认为打开状态,使用--skip-add-locks取消选项)

 

--allow-keywords

允许创建是关键词的列名字。这由表名前缀于每个列名做到。

 

--apply-slave-statements

在'CHANGE MASTER'前添加'STOP SLAVE',并且在导出的最后添加'START SLAVE'。

 

--character-sets-dir

字符集文件的目录

 

--comments

附加注释信息。默认为打开,可以用--skip-comments取消

 

--compatible

导出的数据将和其它数据库或旧版本的MySQL 相兼容。值可以为ansi、mysql323、mysql40、postgresql、oracle、mssql、db2、maxdb、no_key_options、no_tables_options、no_field_options等,要使用几个值,用逗号将它们隔开。它并不保证能完全兼容,而是尽量兼容。

 

--compact

导出更少的输出信息(用于调试)。去掉注释和头尾等结构。可以使用选项:--skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys

 

--complete-insert, -c

使用完整的insert语句(包含列名称)。这么做能提高插入效率,但是可能会受到max_allowed_packet参数的影响而导致插入失败。

 

--compress, -C

在客户端和服务器之间启用压缩传递所有信息

 

--create-options, -a

在CREATE TABLE语句中包括所有MySQL特性选项。(默认为打开状态)

 

--databases, -B

导出几个数据库。参数后面所有名字参量都被看作数据库名。

 

--debug

输出debug信息,用于调试。默认值为:d:t:o,/tmp/mysqldump.trace

 

--debug-check

检查内存和打开文件使用说明并退出。

 

--debug-info

输出调试信息并退出

 

--default-character-set

设置默认字符集,默认值为utf8

 

--delayed-insert

采用延时插入方式(INSERT DELAYED)导出数据

 

--delete-master-logs

master备份后删除日志. 这个参数将自动激活--master-data。

 

--disable-keys

对于每个表,用/*!40000 ALTER TABLE tbl_name DISABLE KEYS */;和/*!40000 ALTER TABLE tbl_name ENABLE KEYS */;语句引用INSERT语句。这样可以更快地导入dump出来的文件,因为它是在插入所有行后创建索引的。该选项只适合MyISAM表,默认为打开状态。

 

--dump-slave

该选项将导致主的binlog位置和文件名追加到导出数据的文件中。设置为1时,将会以CHANGE MASTER命令输出到数据文件;设置为2时,在命令前增加说明信息。该选项将会打开--lock-all-tables,除非--single-transaction被指定。该选项会自动关闭--lock-tables选项。默认值为0。

 

--events, -E

导出事件。

 

--extended-insert, -e

使用具有多个VALUES列的INSERT语法。这样使导出文件更小,并加速导入时的速度。默认为打开状态,使用--skip-extended-insert取消选项。

 

--fields-terminated-by

导出文件中忽略给定字段。与--tab选项一起使用,不能用于--databases和--all-databases选项

 

--fields-enclosed-by

输出文件中的各个字段用给定字符包裹。与--tab选项一起使用,不能用于--databases和--all-databases选项

 

--fields-optionally-enclosed-by

输出文件中的各个字段用给定字符选择性包裹。与--tab选项一起使用,不能用于--databases和--all-databases选项

 

--fields-escaped-by

输出文件中的各个字段忽略给定字符。与--tab选项一起使用,不能用于--databases和--all-databases选项

 

--flush-logs

开始导出之前刷新日志。

请注意:假如一次导出多个数据库(使用选项--databases或者--all-databases),将会逐个数据库刷新日志。除使用--lock-all-tables或者--master-data外。在这种情况下,日志将会被刷新一次,相应的所以表同时被锁定。因此,如果打算同时导出和刷新日志应该使用--lock-all-tables 或者--master-data 和--flush-logs

 

--flush-privileges

在导出mysql数据库之后,发出一条FLUSH PRIVILEGES 语句。为了正确恢复,该选项应该用于导出mysql数据库和依赖mysql数据库数据的任何时候。

 

--force

在导出过程中忽略出现的SQL错误。

 

--help

显示帮助信息并退出。

 

--hex-blob

使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用该选项。影响到的字段类型有BINARY、VARBINARY、BLOB。

 

--host, -h

需要导出的主机信息

 

--ignore-table

不导出指定表。指定忽略多个表时,需要重复多次,每次一个表。每个表必须同时指定数据库和表名。例如:--ignore-table=database.table1 --ignore-table=database.table2 ……

 

--include-master-host-port

在--dump-slave产生的'CHANGE MASTER TO..'语句中增加'MASTER_HOST=<host>,MASTER_PORT=<port>'

 

--insert-ignore

在插入行时使用INSERT IGNORE语句.

 

--lines-terminated-by

输出文件的每行用给定字符串划分。与--tab选项一起使用,不能用于--databases和--all-databases选项。

 

--lock-all-tables, -x

提交请求锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局读锁,并且自动关闭--single-transaction 和--lock-tables 选项。

 

--lock-tables, -l

开始导出前,锁定所有表。用READ LOCAL锁定表以允许MyISAM表并行插入。对于支持事务的表例如InnoDB和BDB,--single-transaction是一个更好的选择,因为它根本不需要锁定表。

请注意当导出多个数据库时,--lock-tables分别为每个数据库锁定表。因此,该选项不能保证导出文件中的表在数据库之间的逻辑一致性。不同数据库表的导出状态可以完全不同。

 

--log-error

附加警告和错误信息到给定文件

 

--master-data

该选项将binlog的位置和文件名追加到输出文件中。如果为1,将会输出CHANGE MASTER 命令;如果为2,输出的CHANGE MASTER命令前添加注释信息。该选项将打开--lock-all-tables 选项,除非--single-transaction也被指定(在这种情况下,全局读锁在开始导出时获得很短的时间;其他内容参考下面的--single-transaction选项)。该选项自动关闭--lock-tables选项。

 

--max_allowed_packet

服务器发送和接受的最大包长度。

 

--net_buffer_length

TCP/IP和socket连接的缓存大小。

 

--no-autocommit

使用autocommit/commit 语句包裹表。

 

--no-create-db, -n

只导出数据,而不添加CREATE DATABASE 语句。

 

--no-create-info, -t

只导出数据,而不添加CREATE TABLE 语句。

 

--no-data, -d

不导出任何数据,只导出数据库表结构。

 

--no-set-names, -N

等同于--skip-set-charset

 

--opt

等同于--add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, --disable-keys 该选项默认开启, 可以用--skip-opt禁用.

 

--order-by-primary

如果存在主键,或者第一个唯一键,对每个表的记录进行排序。在导出MyISAM表到InnoDB表时有效,但会使得导出工作花费很长时间。

 

--password, -p

连接数据库密码

 

--pipe(windows系统可用)

使用命名管道连接mysql

 

--port, -P

连接数据库端口号

 

--protocol

使用的连接协议,包括:tcp, socket, pipe, memory.

 

--quick, -q

不缓冲查询,直接导出到标准输出。默认为打开状态,使用--skip-quick取消该选项。

 

--quote-names,-Q

使用(`)引起表和列名。默认为打开状态,使用--skip-quote-names取消该选项。

 

--replace

使用REPLACE INTO 取代INSERT INTO.

 

--result-file, -r

直接输出到指定文件中。该选项应该用在使用回车换行对(\\r\\n)换行的系统上(例如:DOS,Windows)。该选项确保只有一行被使用。

 

--routines, -R

导出存储过程以及自定义函数。

 

--set-charset

添加'SET NAMES default_character_set'到输出文件。默认为打开状态,使用--skip-set-charset关闭选项。

 

--single-transaction

该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎,仅InnoDB。本选项和--lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用--quick 选项。

 

--dump-date

将导出时间添加到输出文件中。默认为打开状态,使用--skip-dump-date关闭选项。

 

--skip-opt

禁用–opt选项.

 

--socket,-S

指定连接mysql的socket文件位置,默认路径/tmp/mysql.sock

 

--tab,-T

为每个表在给定路径创建tab分割的文本文件。注意:仅仅用于mysqldump和mysqld服务器运行在相同机器上。

 

--tables

覆盖--databases (-B)参数,指定需要导出的表名。

 

--triggers

导出触发器。该选项默认启用,用--skip-triggers禁用它。

 

--tz-utc

在导出顶部设置时区TIME_ZONE='+00:00' ,以保证在不同时区导出的TIMESTAMP 数据或者数据被移动其他时区时的正确性。

 

--user, -u

指定连接的用户名。

 

--verbose, --v

输出多种平台信息。

 

--version, -V

输出mysqldump版本信息并退出

 

--where, -w

只转储给定的WHERE条件选择的记录。请注意如果条件包含命令解释符专用空格或字符,一定要将条件引用起来。

 

--xml, -X

导出XML格式.

 

--plugin_dir

客户端插件的目录,用于兼容不同的插件版本。

 

--default_auth

客户端插件默认使用权限。

 

 

 

5.2 分库备份脚本

-- 利用sed

## 先别加参数“|bash”去执行备份,先检查,无误在执行

 

[root@orcl ~]# mysql -uroot -p1111111 -e "show databases;"|grep -Evi "database|infor|perfor"|sed 's#^#mysqldump -uroot -p'1111111' -B #g'

 

 

[root@orcl ~]# mysql -uroot -p1111111 -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -p1111111 -B \1 >/mysqlbak/\1.sql#g'

 

 

[root@orcl ~]# mysql -uroot -p1111111 -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -p1111111 -B \1|gzip >/mysqlbak/\1.sql.gz#g'

 

 

###############》》》》》》》 执行备份有一个告警

 

====》直接执行备份  如果不直接执行备份,去掉|bash 传参

[root@orcl ~]# mysql -uroot -p1111111 -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -p1111111 --events -B \1|gzip >/mysqlbak/\1.sql.gz#g' |bash

 

 

 

[root@orcl ~]# mysql -uroot -p1111111 -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -p1111111 --events -B \1|gzip >/mysqlbak/\1.sql.gz#g'

 

 

-- 利用for循环

[root@orcl ~]# cat mysqlbak.sh

for dbname in `mysql -uroot -p'1111111' -e "show databases;"|grep -Evi "database|infor|perfor"`

 do

    mysqldump -uroot -p'1111111' --events -B $dbname|gzip > /mysqlbak/${dbname}_bak.sql.gz

done

 

 

 

 

 

 

 

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30130773/viewspace-2152185/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30130773/viewspace-2152185/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值