mysql 表名通配符导出_mysqldump根据通配符批量导出

xtrabackup的主要优点:

1,物理备份,备份速度快

2,热备份、无需停机

3,恢复速度快

4.自动会对备份文件进行验证

1. xtrabackup 工具的安装

1.1 安装依赖包

#No package perl-Digest-MD5 available.

yum install -y rsync perl l perl-Digest-MD5 perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL

#rpm -ich libev-4.15-1.el6.rf.x86_64.rpm 可以不安装

#error: Failed dependencies:libev.so.4()(64bit) is needed,添加 --nodeps

rpm -ivh percona-xtrabackup-24-2.4.21-1.el6.x86_64.rpm --force --nodeps

-------------------------------------

#常见报错

(1) libev.so.4()(64bit) is needed by percona-xtrabackup-24-2.4.4-1..el6.x86_64

解决办法:

rpm -ivh ftp://rpmfind.net/linux/dag/redhat/el6/en/x86_64/dag/RPMS/libev-4.15-1.el6.rf.x86_64.rpm

(2)libnuma.so.1()(64bit) is needed by percona-xtrabackup-24-2.4.4-1.el6.x86_64

解决办法:

rpm -ivh http://mirror.centos.org/centos/6/os/x86_64/Packages/numactl-2.0.9-2.el6.x86_64.rpm

#参考Centos7.4下MySql5.7安装Percona XtraBackup备份

1、安装Percona XtraBackup

--安装yum 源

yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm

--安装XtraBackup 2.4版本的

yum install -y percona-xtrabackup-24.x86_64

#1.2下载及安装说明

#当前测试使用的数据库为MySQL5.7 因此下载2.4版本

https://www.percona.com/downloads/Percona-XtraBackup-2.4/LATEST/

#另外,2.4.10及以后版本中,对libgcrypt进行了区分,因此也需要查询自己服务器的libgcrypt版本,然后选择对应的安装包

[root@testdb ~]# yum list installed|grep libgcrypt

libgcrypt.x86_64 1.5.3-14.el7 @anaconda

#去percona官网下载对应版本的安装包 https://www.percona.com/downloads , 需要根据数据库的版本选择对应的xtrabackup的安装包,选择Percona XtraBackup.

--实际找到的包

wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.21/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.21-1.el7.x86_64.rpm

/* 二进制包 怎么找到 */

wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.18/binary/tarball/percona-xtrabackup-2.4.18-Linux-x86_64.libgcrypt153.tar.gz

/* rpm包 怎么找到*/

wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.18/binary/redhat/7/x86_64/Percona-XtraBackup-2.4.18-r29b4ca5-el7-x86_64-bundle.tar

二进制包解压后即可使用,rpm包下载解压后 rpm -ivh 安装即可。操作均很简单,此处略过

xtrabackup通常使用 innobackupex命令, 可以使用 innobackupex --help 命令查看参数及说明。

其中常用参数及说明如下:

--defaults-file 待备份mysql实例的配置文件

--user=USER 备份用户,默认为当前系统用户,建议使用备份专用账号

--password=PASSWD 备份用户密码

--port=PORT 数据库端口,默认3306

--host=HOST 需备份数据库的IP

--apply-log 前滚、回滚日志,恢复前用

--database 指定需要备份的数据库,多个数据库之间以空格分开

--copy-back 将备份数据复制到目标路径

--incremental 增量备份,后面接的参数值为指定的增量备份的路径

--incremental-basedir=DIRECTORY 增量备份时使用指向上一次的增量备份所在的目录

--incremental-dir=DIRECTORY 增量备份还原的时候用来合并增量备份到全量,用来指定全备路径

--redo-only 对增量备份进行合并

--rsync 加快本地文件传输,适用于non-InnoDB数据库引擎。不与--stream共用

--no-timestamp 生成的备份文件不以时间戳为目录

1.3 创建备份账号

备份的账号建议单独创建,并授予相关权限

CREATE USER 'backup'@'localhost' IDENTIFIED BY 'Backup@123.com';

GRANT SUPER,RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO 'backup'@'localhost';

FLUSH PRIVILEGES;

2. 全量备份

2.1 本地全量备份,不压缩

后续会以此为基础进行增量备份

/* 创建备份结果的目录, 此步骤也可以省略 */

mkdir -p /app/all_backup

#/root/xtrabackup/bin/innobackupex目录不存在

/usr/bin/innobackupex --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock --port=3306 --user=backup --password='Backup@123.com' --no-timestamp /app/all_backup

备份的结果存放在指定的目录 all_backup里,内容如下:

注: 如果没有添加阻塞DDL操作的参数,备份过程中如有DDL操作,备份将终止。因此建议日常备份放在从库中进行。

2.2 本地tar方式压缩备份

/usr/bin/innobackupex --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock --port=3306 --user=backup --password='Backup@123.com' --stream=tar /tmp |gzip >/app/all_backup.tar.gz

备份后的结果是一个压缩文件,经过对比,压缩后数据约为非压缩情况下的20%,压缩比还是比较高的。

不过,压缩备份的方式速度相对较慢,且消耗CPU,该影响因素需要大家考虑到,视情况选择是否压缩。

注意: 如果有单表过大 而/tmp路径空间不足的情况备份过程中可能会报错,因此可以指定其他空间较大的目录

2.3 本地xbstream方式压缩备份

gzip的压缩方式备份可能会有bug(案例可以自行寻找),出现如下错误:

xtrabackup: error: The transaction log file is corrupted.

xtrabackup: error: The log was not applied to the intended LSN!

#因此可以采用xbstream方式进行备份,备份命令如下:

/usr/bin/innobackupex --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock --port=3306 --user=backup --password='Backup@123.com' /app/backup --tmpdir=/app/backup --stream=xbstream|gzip - > /app/all_backup.xbstream.gz

2.4 远程备份到其他机器

远程备份与本地备份的相比 需要额外的配置远程主机的免密登录权限

/* 在备份所在用户的主机下配置连接目标主机的免密 */

#如果存在keygen,可跳过

ssh-keygen

ssh-copy-id -i user@'target_ip'

#远程机器创建目录

mkdir -p /app/backup/

#之后就可以将类似于本地备份的模式 将备份结果发送到远程机器

#如果存在大表或超大事务运行时不建议使用/tmp目录

/usr/bin/innobackupex --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock --port=3306 --user=backup --password='Backup@123.com' --stream=tar /tmp --no-timestamp | ssh root@'192.168.92.18' "cat - > /app/backup/remote_backup.tar"

---------------------------------------------------------------------

--备份文件中删除已表空间加密的表t1,tab_type或删除加密表所在的库,仍然无法恢复

#查看所有加密表(表空间):t1,tab_type

select engine,TABLE_SCHEMA, TABLE_NAME, CREATE_OPTIONS from information_schema.tables where create_options like '%ENCRYPTION%="Y"%';

cd /home/backup

cp -R 2020-05-29_12-37-02 2020-05-29_12-37-02-bak

cd /home/backup/2020-05-29_12-37-02

rm -rf test

--cd /home/backup/2020-05-29_12-37-02/test

--rm -rf t1.frm t1.ibd tab_type.frm tab_type.ibd

systemctl stop mysqld

--先应用日志

innobackupex --defaults-file=/etc/my.cnf --user=root --apply-log /home/backup/2020-05-29_12-37-02/

--再拷贝数据

innobackupex --defaults-file=/etc/my.cnf --user=root --copy-back /home/backup/2020-05-29_12-37-02/

---------------------------------------------------------------------

3. 增量备份

mysql -uroot -pmysql

use test;

create table test.t1(id int,name varchar(200));

insert into test.t1 select 1,'n1';

3.1 第一次增量备份

#可以先根据2.1的本地全备的基础上进行增量备份,首次增量备份脚本:

#此时,备份的结果放在/app/backup目录下,由于没指定no-timestamp参数,备份的结果存在在以三期时间命名的目录下:

/usr/bin/innobackupex --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock --port=3306 --user=backup --password='Backup@123.com' --incremental /app/backup/ --incremental-basedir=/app/all_backup

注: 增量备份仅能应用于InnoDB或XtraDB表等事务表,对于MyISAM表而言,执行增量备份时依旧进行全量备份

3.2 第二次增量备份

#第二次增量备份是在第一次增量备份的基础上进行,因此incremental-basedir参数内容指定为上一次增量备份的目录即可

#完成后生成一个新的目录

/usr/bin/innobackupex --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock --port=3306 --user=backup --password='Backup@123.com' --incremental /app/backup/ --incremental-basedir=/app/backup/2020-11-25_08-38-21

3.3 第二次增量备份

/usr/bin/innobackupex --defaults-file=/etc/my.cnf --socket=/var/lib/mysql/mysql.sock --port=3306 --user=backup --password='Backup@123.com' --incremental /app/backup/ --incremental-basedir=/app/backup/2020-11-25_08-41-19

4. 恢复

4.1 基于全量备份的恢复

4.1.1 回放日志

备份后的文件不能直接用作恢复,还需要先使用apply-log 做前滚和回滚

/usr/bin/innobackupex --defaults-file=/app/all_backup/my.cnf --apply-log /app/all_backup > /opt/apply-log.log

注: 回放日志的时候 defaults-file 选择备份目录里的即可

4.2.2 恢复至目标实例

本次恢复至一个新实例中(如果恢复至现有的实例需要先关闭目标实例,删除数据目录及相关日志存储的目录。不建议直接恢复至现有实例 ,除非实际需要)

/* 创建新实例的相关目录 */

mkdir -p /app/data/mysql3307/{data,logs,tmp,etc}

/* 生产配置文件 ,本次直接拷贝其他实例的配置文件 修改对应端口等*/

cp /app/data/mysql3306/etc/my.cnf /app/data/mysql3307/etc/

sed -i "s#3306#3307#g" my.cnf

/* 创建错误日志 */

touch /app/data/mysql3307/logs/mysqld.log

#然后拷贝至新实例中

/usr/bin/innobackupex --defaults-file=/etc/my.cnf --copy-back /app/all_backup

#修改目标实例相关目录的权限

chown -R mysql:mysql /var/lib/mysql

#启动新实例即可

mysqld_safe --defaults-file=/etc/my.cnf > /dev/null 2>&1 &

ps -ef | grep mysql

#/usr/local/mysql5.7/bin/mysqld_safe --defaults-file=/app/data/mysql3307/etc/my.cnf &

#启动mysql报错

[ERROR] InnoDB: Unable to open undo tablespace './/undo001'.

vi /etc/my.cnf

innodb_undo_tablespaces=3

--重新应用日志和拷贝备份数据

/usr/bin/innobackupex --defaults-file=/app/all_backup/my.cnf --apply-log /app/all_backup > /opt/apply-log.log

#先应用日志,不支持恢复加密表空间的库************************************************

#error:InnoDB: Encryption information in datafile: ./test/t1.ibd can't be decrypted, please check if a keyring plugin is loaded and initialized successfully.

/usr/bin/innobackupex --defaults-file=/etc/my.cnf --copy-back /app/all_backup

chown -R mysql:mysql /var/lib/mysql

mysql -uroot -pmysql

show databases;

use test;

show tables;

4.2 基于增量备份的恢复

ps -ef | grep mysql

kill -9

rm -rf /var/lib/mysql/*

如果是基于第一次增量备份的恢复,操作如下

/* 使用合并增量备份的方式进行回放日志,先进行全量备份的合并 */

/usr/bin/innobackupex --apply-log --redo-only /app/all_backup

/* 再合并第一次增量备份 */

/usr/bin/innobackupex --apply-log --redo-only /app/all_backup --incremental-dir=/app/backup/2020-11-25_08-38-21

如果基于多次增量备份的恢复,则在全量备份及第一次增量备份的基础上继续合并后续的备份即可

/* 基于第二次增量备份的合并 */

/usr/bin/innobackupex --apply-log --redo-only /app/all_backup --incremental-dir=/app/backup/2020-11-25_08-41-19

/* 基于第三次增量备份的合并 */

/usr/bin/innobackupex --apply-log --redo-only /app/all_backup --incremental-dir=/app/backup/2020-11-25_09-47-12

/usr/bin/innobackupex --defaults-file=/etc/my.cnf --copy-back /app/all_backup

chown -R mysql:mysql /var/lib/mysql

mysqld_safe --defaults-file=/etc/my.cnf > /dev/null 2>&1 &

ps -ef | grep mysql

mysql -uroot -pmysql

show databases;

use test;

show tables;

------------------------------------------------------------------------------------

#全量备份mysql shell脚本1

mkdir -p /opt/script

sh /opt/script/fullbak.sh

vi /opt/script/fullbak.sh

#!/bin/bash

# mysql full back

#date 2020.11.25

#author:zh

time=`date +%F`

logfile="/data/bakup/mysql_full_bak_time.log"

fullbakup_logfile="/data/bakup/fullbakup_logfile.log"

mysql_bakdir="/data/bakup"

user=backup

password='Backup@123.com'

[ ! -d $mysql_bakdir ] && mkdir -p $mysql_bakdir

[ ! -e $logfile ] && touch $logfile

[ ! -e $fullbakup_logfile ] && touch $fullbakup_logfile

innobackupex --defaults-file=/etc/my.cnf --user=$user --password=$password --compress ${mysql_bakdir} 2>&1 >> $fullbakup_logfile

ret=$?

finishtime=`date +%Y%m%d_%H%M%S`

[ $ret -eq 0 ] && echo "Mysql fullbakup finished, time: $finishtime" >> $logfile || echo "Mysql fullbakup failed,please check time:$finishtime" >> $logfile

------------------------------------------------------------------------------------

#全量备份mysql shell脚本2

vi backup_auto.sh

#!/bin/bash

#function:xtrabackup database

#version:1.0

#author:zh

v_mysql_user="root"

v_mysql_password="mysql"

v_mysql_host="localhost"

v_mysql_port="3306"

v_mysql_charset="utf8"

#v_mysql_socket=/data/my13306

v_backup_location=/data/xtrabackup

v_expire_backup_delete="ON" #是否开启过期备份删除 ON为开启 OFF为关闭

v_expire_days=3 #过期时间天数 默认为三天,此项只有在 v_expire_backup_delete 开启时有效

v_backup_time=`date +%Y%m%d%H%M` #定义备份详细时间

v_backup_Ymd=`date +%Y-%m-%d` #定义备份目录中的年月日时间

v_backup_3ago=`date -d '3 days ago' +%Y-%m-%d` #3天之前的日期

v_backup_dir=$v_backup_location/$v_backup_Ymd

v_backup_log=$v_backup_location/$v_backup_Ymd/backup.log

v_welcome_msg="Welcome to use MySQL backup tools!"

#判断MYSQL是否启动,mysql没有启动则备份退出

v_mysql_ps=`ps -ef |grep mysql |wc -l`

v_mysql_listen=`netstat -an |grep LISTEN |grep $v_mysql_port|wc -l`

if [ $v_mysql_ps == "0" -o $v_mysql_listen == "0" ]; then

echo "ERROR:MySQL is not running! backup stop!"

exit

else

echo $v_welcome_msg

#连接到mysql数据库,无法连接则备份退出

mysql -h$v_mysql_host -P$v_mysql_port -u$v_mysql_user -p$v_mysql_password <

use mysql;

select host,user from user where user='root' and host='localhost';

exit

end

flag=$?

if [ $flag != "0" ]; then

echo "ERROR:Can’t connect mysql server! xtrabackup stop!"

exit

else

echo "MySQL connect ok! Please wait…"

#判断有没有定义备份的数据库,如果定义则开始备份,否则退出备份

v_dbname=""

echo "database $v_dbname backup start…"

mkdir -p $v_backup_dir

innobackupex --host=$v_mysql_host --user=$v_mysql_user --port=$v_mysql_port --password=$v_mysql_password $v_backup_dir --parallel=2 --no-timestamp >>$v_backup_log 2>&1

flag=$?

if [ $flag == "0" ];then

echo "database $v_dbname success backup to $v_backup_dir"

else

echo "database $v_dbname backup fail!"

fi

fi

#如果开启了删除过期备份,则进行删除操作

if [ $v_expire_backup_delete == "ON" -a $v_backup_location != "" ];then

#find $v_backup_location/ -type d -o -type f -ctime +$v_expire_days -exec rm -rf {} \;

find $v_backup_location/ -type d -mtime +$v_expire_days | xargs rm -rf

echo "Expired backup data delete complete!"

fi

echo "All database backup success!"

exit

fi

------------------------------------------------------------------------------------

#全量增量自动备份mysql shell脚本3

#创建备份用户

mysql -uroot -pmysql

grant reload,lock tables,replication client,create tablespace,process,super on *.* to backupuser@'localhost' identified by 'backup@che123';

#加入自动执行任务计划

crontab -e

12 3 * * * sh /opt/script/xtrabackup.sh

#创建冗余目录和创建备份用户:

mkdir -p /database/detect/backup/

ll /database/detect/backup/

ll /database/detect/redundency/

#配置备份脚本

vi /opt/script/xtrabackup.sh

#!/bin/bash

BEGINTIME=`date +"%Y-%m-%d %H:%M:%S"`

format_time=`date +"%Y-%m-%d_%H:%M:%S"`

week=`date +%Y-%m-%d`

backupbin=/usr/bin

backdir=/database/detect/backup/

redun=/database/detect/redundency/

file_cnf=/etc/my.cnf

user_name=backupuser

password="backup@che123"

socket="/var/lib/mysql/mysql.sock"

out_log=$backdir/xtrabackup_log_$format_time

time_cost=$backdir/xtrabackup_time.txt

if [ ! -d "/database/detect/redundency" ];

then

mkdir -p /database/detect/redundency

fi

if [ -d "$backdir/incr5" ];then

tar -czvf ${redun}\/redundency_${week}.tar.gz $backdir >/dev/null 2>&1

rm -rf $backdir/*

mkdir -p $backdir

chown -R mysql.mysql $backdir

# del backup

DEL_UNTIL_DATE=`date --date='7 day ago' +%Y-%m-%d`

sleep 30

/bin/rm -f /${redun}/*${DEL_UNTIL_DATE}.tar.gz >/dev/null 2>&1

fi

#full

if [ ! -d "$backdir/full" ];then

echo "#####start full backup at $BEGINTIME to directory full" >>$time_cost

$backupbin/innobackupex --defaults-file=$file_cnf --no-timestamp --user=$user_name --password=$password --socket=$socket $backdir/full 1> $out_log 2>&1

break;

elif [ ! -d "$backdir/incr0" ];then

echo "#####start 0 incremental backup at $BEGINTIME to directory incr0" >>$time_cost

$backupbin/innobackupex --defaults-file=$file_cnf --no-timestamp --user=$user_name --password=$password --socket=$socket --incremental --incremental-basedir=$backdir/full $backdir/incr0 1> $out_log 2>&1

break;

elif [ ! -d "$backdir/incr1" ];then

echo "#####start 1 incremental backup at $BEGINTIME to directory incr1" >>$time_cost

$backupbin/innobackupex --defaults-file=$file_cnf --no-timestamp --user=$user_name --password=$password --socket=$socket --incremental --incremental-basedir=$backdir/incr0 $backdir/incr1 1> $out_log 2>&1

break;

elif [ ! -d "$backdir/incr2" ];then

echo "#####start 2 incremental backup at $BEGINTIME to directory incr2" >>$time_cost

$backupbin/innobackupex --defaults-file=$file_cnf --no-timestamp --user=$user_name --password=$password --socket=$socket --incremental --incremental-basedir=$backdir/incr1 $backdir/incr2 1> $out_log 2>&1

break;

elif [ ! -d "$backdir/incr3" ];then

echo "#####start 3 incremental backup at $BEGINTIME to directory incr3" >>$time_cost

$backupbin/innobackupex --defaults-file=$file_cnf --no-timestamp --user=$user_name --password=$password --socket=$socket --incremental --incremental-basedir=$backdir/incr2 $backdir/incr3 1> $out_log 2>&1

break;

elif [ ! -d "$backdir/incr4" ];then

echo "#####start 4 incremental backup at $BEGINTIME to directory incr4" >>$time_cost

$backupbin/innobackupex --defaults-file=$file_cnf --no-timestamp --user=$user_name --password=$password --socket=$socket --incremental --incremental-basedir=$backdir/incr3 $backdir/incr4 1> $out_log 2>&1

break;

elif [ ! -d "$backdir/incr5" ];then

echo "#####start 5 incremental backup at $BEGINTIME to directory incr5" >>$time_cost

$backupbin/innobackupex --defaults-file=$file_cnf --no-timestamp --user=$user_name --password=$password --socket=$socket --incremental --incremental-basedir=$backdir/incr4 $backdir/incr5 1> $out_log 2>&1

break;

fi

ENDTIME=`date +"%Y-%m-%d %H:%M:%S"`

begin_data=`date -d "$BEGINTIME" +%s`

end_data=`date -d "$ENDTIME" +%s`

spendtime=`expr $end_data - $begin_data`

echo "it takes $spendtime sec for packing the data directory" >>$time_cost

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/417907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

系统垃圾清理.cmd

将以下内容保存为“系统垃圾清理.cmd”文件&#xff0c;运行即可 echo off echo 正在清除系统垃圾文件&#xff0c;请稍等...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q %systemdrive%\*.log del /f /s /q %systemdrive%\*.gid del …

Android内存优化(使用SparseArray和ArrayMap代替HashMap)

出处&#xff1a;Sunzxyong HashMap HashMap内部是使用一个默认容量为16的数组来存储数据的&#xff0c;而数组中每一个元素却又是一个链表的头结点&#xff0c;所以&#xff0c;更准确的来说&#xff0c;HashMap内部存储结构是使用哈希表的拉链结构&#xff08;数组链表&#…

mysql按日期获取最新_mysql获取按日期排序获取最新的记录

主要按照日期获得最新的数据&#xff1b;今天记录两种方式&#xff0c;并不涉及效率等其他方面问题&#xff1a;第一种&#xff0c; 利用GROUP BY原理&#xff1a;select * from (select * from authenticationrecord order by authenticationtime desc) temp group by merchan…

vbs运算符号和函数

基本运算 数字加法及字符串连接 - 数字减法 * 数字乘法 / 数字除法 Mod 求余数 \ 求商数 & 字符串连接 ^ 次方 相等 <> 不相等 > 大于或等于 > 大于 < 小于或等于 < 小于 Not 非 And 且 Or 或 Xor 异或 循环及决策 if ....then 若…

VS2010与QT的集成开发环境

http://blog.csdn.net/hbsong75/article/details/9293773 QT与Java有点类似&#xff0c;也是一种跨平台的软件&#xff08;当然在windows平台和Linux平台需要安装相应的QT开发环境和运行库&#xff0c;类似于JAVA在不同平台下的虚拟机JVM环境&#xff09;&#xff0c;因此对于某…

yum mysql 5.1 innodb_Yum升级mysql5.1到5.6

Yum升级mysql5.1到5.6有一些虚拟机、云主机提供商仍然使用的是老版本的安装套件。预装的应用软件版本很低。比如 techbrood.com 使用的云服务器&#xff0c;其中MySQL预装版本为老版本5.1.x。而最新的mysql版本在性能、功能、安全性等方面都有了很多的改进。要从最新版本获益&a…

遍历处理path及其子目录所有文件

遍历处理path及其子目录所有文件Sub ShowAllFile(Path) Set FSO CreateObject("Scripting.FileSystemObject") Set f FSO.GetFolder(Path) Set fc2 f.files For Each myfile in fc2 WScript.Echo path&"\"&myfile.name …

mysql用户和权限备份_备份MySQL用户和权限

Mysql用户在数据库Mysql的表用户中,为了备份这个表,你可以这样做&#xff1a;mysqldump -u root -p mysql user > UserTableBackup.sql对于备份所有mysql数据库并为每个数据库创建一个文件,你可以自己编写shell脚本,遵循一些可以帮助你的代码&#xff1a;# Get all database…

获取所有某格式文件到文件

扫描文件sub scan(folder_)Set fsocreateobject("scripting.filesystemobject") set folder_fso.getfolder(folder_)set filesfolder_.files遍历路径中的文件for each file in files extmid(file,InStrRev(file, ".")1) extlcase(ext) if extkuozhan then …

linux mysql 系统时间函数吗_Linux 宝库 - Mysql日期和时间函数不求人

对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型。这里是一个使用日期函数的例子。下面的查询选择了所有记录&#xff0c;其date_col的值是在最后30天以内&#xff1a;mysql> SELECT something FROM tableWHERE TO_DAYS(NOW()) - …

各种排序笔记---基于非比较排序部分

在计算机科学中&#xff0c;排序是一门基础的算法技术&#xff0c;许多算法都要以此作为基础&#xff0c;不同的排序算法有着不同的时间开销和空间开销。排序算法有非常多种&#xff0c;如我们最常用的快速排序和堆排序等算法&#xff0c;这些算法需要对序列中的数据进行比较&a…

vbs特殊符号

常数 值 描述 vbCr Chr(13) 回车符。 vbCrLf Chr(13) & Chr(10) 回车符与换行符。 vbFormFeed Chr(12) 换页符&#xff1b;在 Microsoft Windows 中不适用。 vbLf Chr(10) 换行符。 vbNewLine Chr(13) & Chr(10) 或 Chr(10) 平台指定的新行字符&#xff1b;适用于…

在mysql表中如何变换列和行_在SQL中转换列和行的简单方法?

有几种方法可以转换这些数据。在你最初的帖子中&#xff0c;你说PIVOT对于这个场景来说似乎太复杂了&#xff0c;但是可以很容易地使用UNPIVOT和PIVOTSQL Server中的函数。但是&#xff0c;如果您无法访问这些函数&#xff0c;则可以使用UNION ALL到UNPIVOT然后是一个具有CASE向…

powerpoint文字教程

建立空白演示文稿 如果所有模板都不满足要求&#xff0c;或者想制作一个特殊的、具有与众不同外观的演示文稿&#xff0c;可从一个空白演示文稿开始&#xff0c;自建背景设计、配色方案和一些样式特性。选择“空演示文稿”选项&#xff0c;或者在PowerPoint 2000窗口中&#xf…

不同语言,系统通过共享内存方式实现信息交互

1. 两个程序映射同一个文件到自己的地址空间2. 进程A先运行, 每隔两秒读取映射区域, 看是否发生变化. 3. 进程B后运行, 它修改映射区域, 然后推出, 此时进程A能够观察到存储映射区的变化一个读&#xff0c;一个写。转载于:https://www.cnblogs.com/swbzmx/p/5992679.html

如何使用用window.open()

oNewWindow window . open ( sURL , sName , sFeatures , bReplace ) 参数&#xff1a;sUrl : 可选项。字符串(String)。指定要被加载的HTML文档的 URL 地址。假如无指定值&#xff0c;则 about:blank 的新窗口会被显示。 sName : 可选项。字符串(String)。 指定打开的窗口…

mysql myisam/innodb高并发优化经验_MySQL MyISAM / PHP 高并发优化经验

最近做的一个应用&#xff0c;功能要求非常简单&#xff0c;就是 key/value 形式的存储&#xff0c;简单的 INSERT/SELECT&#xff0c;没有任何复杂查询&#xff0c;唯一的问题是量非常大&#xff0c;如果目前投入使用&#xff0c;初期的单表 insert 频率约 20Hz(次/秒&#xf…

SharePoint Framework 构建你的第一个web部件(三)

&#xfeff;&#xfeff;博客地址&#xff1a;http://blog.csdn.net/FoxDave本篇接上一讲&#xff0c;我们一起来看一下如何部署和测试本地开发的web部件。在SharePoint中预览web部件SharePoint工作台在SharePoint中被承载&#xff0c;用来在开发环境预览和测试本地web部件。它…

execCommand全集

JavaScript中的execCommand介绍 execCommand方法是执行一个对当前文档&#xff0c;当前选择或者给出范围的命令。处理Html数据时常用如下格式&#xff1a;document.execCommand(sCommand[,交互方式, 动态参数]) &#xff0c;其中&#xff1a;sCommand为指令参数&#xff08;如…

mysql my.ini位置错误_解决mysql导入数据量很大导致失败及查找my.ini 位置(my.ini)在哪...

数据库数据量很大的数据库导入到本地时&#xff0c;会等很久&#xff0c;然而等很久之后还是显示失败&#xff1b;这是就要看看自己本地的没mysql是否设置了超时等待&#xff0c;如果报相关time_out这些&#xff0c;可以把mysql.ini尾部添加max_allowed_packet、interactive_ti…