由于项目需要快速备份表所以就使用mysql Transportable Tablespaces(mysql传输表空间)来实现表快速数据的迁移,如下就用shell脚本自动化了表数据迁移在不同服务器的...mysql实例间传输 使用传输表空间前提: 1.要开启独立表空间innodb_file_per_table 2.源实例和目标实例表空间页大小要一致(innodb_page_size) 3.如果表有外键关系...此外您应该在相同的逻辑时间点导出所有与外键相关的表 4.mysql实例要具有相同GA版本 脚本使用需要安装sshpass yum -y install sshpass 配置说明 #源实例信息配置 shost.../tran_tab.sh -t table_name -d db_xx -s db_xx -t表示迁移的表名字 -d是迁移的目标库 -s是迁移的源库 vi tran_tab.sh #!...目标服务器配置sshpass拷贝文件 host='192.168.169.40' sshport='22' hostuser='root' hostpassword='xxxx@www23@' #获取表的创建脚本
在这个基础上,如果某些表数据量太大,某些表数据增长过于频繁,某些表中的碎片率很高,表中的索引过度设计等,这些对于业务来说是很欢迎的,如果能够及时发现,从设计上就可以改进和完善,为后期的问题排查也提供一种参考思路...所以简而言之,表属性的收集是一个很细粒度的工作,虽然琐碎,但是尤其重要,而这个很可能是我们DBA同学目前容易忽视的。 我写了一个初版的采集脚本。...会基于数据字典information_schema.tables采集一些基础信息,对于表中的碎片分析,则是通过和系统层结合来得到的。...为了减少采集到的表数量过多,目前是优先采集数据量在100M以上的表,然后分析碎片率等。 完整的脚本如下,供参考。.../null ` datadir=` /usr/local/mysql/bin/mysql -udba_admin -p$dec_passwd -h127.0.0.1 -P${port} -N -e
1、点击[automake-1.14.tar.gz] 2、点击[开始下载] 3、点击[打开] 4、点击[命令行窗口] 5、按<Enter>键 6...
经常会踫到这样的场景需求:自定义时间从MySql流水月表中SELECT出来数据到excel报表文件中,所以自己写了这个shell脚本来处理。...由于linux默认是uft-8的格式,所以在使用awk命令处理完txt文件后,通过iconv命令把utf8的文件转换成最终的gbk文件。...2 脚本代码 鉴于数据量比较大,我们的shell脚本需要考虑MySQL执行INSERT的效率,所以采用了对次数取模拼接多个VALUES的值来实现。.../bin/bash # FileName: exportmysqlshell1.sh # Description: 使用shell脚本导出MySql月表数据到EXCEL中 # Simple...Github了,地址是https://github.com/vfhky/shell-tools,以后脚本的更新或者更多好用的脚本也都会加入到这个工程中。
本脚本就是把这个功能封装了一下. 本脚本配合定时任务使用更佳. 1....使用例子 先配置对应的服务器IP账号密码 image.png 直接执行脚本就行(建议放后台, 最好是加个定时任务, 判断脚本挂了就重新执行) image.png 测试数据 image.png 检查当前的...脚本 脚本如下: #!.../bin/env bash #write by ddcw at 2021.06.29 #不支持备份到远处, 你可以在要保存的服务器上运行本脚本 #mysqlbinlog和mysql命令需要配置在环境变量里...} >/dev/null 2>&1 exit 1 } function init_() { #检查有没得mysql和mysqlbinlog命令 which mysql >/dev/null 2>
/bin/sh bk_to="/var/mysql-backup-`date +%Y-%m-%d-%k-%M-%S |tr -d ' '`" user_name="root" user_pw="dev"...sql=" flush tables with read lock; system cp -pR /var/lib/mysql $bk_to; unlock tables; " mysql -u
restart mysqld mariadb # 在mysqld 标签下面增加免密登录配置信息 # 重启数据库 echo "您输入的信息为...=1; UPDATE user SET password=password('$setpasswd') WHERE user='$setuser';" echo "低于7的版破解" fi...global validate_password.policy=0 ; set global validate_password.length=6; # 关掉新主库的只读属性...密码长度为6 sed -i "/skip-grant-tables/d" $mycnf; systemctl restart mysqld mariadb # 删除之前的配置...,重启数据 # wget eisc.cn/file/shell/mysql-passwd.sh ; sh mysql-passwd.sh
主脚本,修改以下信息即可运行改脚本。...1、修改该脚本中的数据库连接信息 2、修改需要检测的schema_inspect,添加时请以英文逗号分割,例如:main,history 3、运行完改脚本会在log/20190603/table-percentage...最后生产csv的文件夹 temp-percentage-results 存放脚本生产的临时文件 table-percentage-sql all-table.sql-ori...查看制定schema下的所有的表 table-percentage.sql-ori 查看制定表的膨胀率 运行项目输出详细日志如下 time sh greenplum-table-percentage.sh...For partitioned tables, run analyze 生成的CSV文件格式如下 表名,最大segment的行,最小segment的行,倾斜率(%),表的大小,表的分布键 datafix.enterp
在文章中,我们写一个 shell 脚本,它在 crontab 中指定固定时间间隔监控磁盘使用情况,并在报告达到指定的阈值时通过电子邮件发送报告。...测试磁盘使用情况的脚本 以下是测试磁盘使用情况并将报告发送到指定邮箱的脚本。脚本的解释在代码片段之后给出。 [root@localhost ~]# vim disk-monitor.sh #!...环境变量MAILID保存必须在其中发送报告的邮箱地址。 VALUE 保存要设置的阈值。 SERVERNAME 保存服务器的主机名,用于电子邮件通知中的服务器标识。...使用 for 循环,它将遍历所有具有“/dev”挂载点的文件系统。然后它将文件系统名称和磁盘使用百分比保存到两个变量FILESYSTEM 和 DISK_USAGE。...监控脚本执行 下面需要修改一下disk-monitor.sh脚本的权限,为它添加可执行权限: [root@localhost ~]# chmod +x disk-monitor.sh 使用下面方式运行脚本
于是想写一个脚本来进行统计。最终代码如下: #!/bin/bash files=$(ls) all=0 for i in $files; do if [ $i !...$i | cut -d ' ' -f5) all=$(($all+$t)) echo ' 统计字数: '$t fi done echo '共计字数'$all 原理非常简单,循环所有文件...,读取第一行显示,(因为我的第一行是标题),然后利用 wc 统计文件字数,在循环的时候进行累加。...小脚本解决大问题,每天都积累一点点。 本文由 FungLeo 原创,允许转载,但转载必须保留首发链接。
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource import org.slf4j.LoggerFactory import org.springframework.stereotype.Service...import java.sql.* import java.util.* import javax.sql.DataSource @Service class Mysql2OdpsService {...= getTableFields(table, dataSource) return ddl(table, fields) } /** * 获取数据库全部表...finally { close(conn, null, rs) } return result } /** * 获取数据库表所包含的字段...result.add(fieldInfo) } } catch (e: Exception) { logger.error("获取数据库表所包含的字段
脚本说明: 脚本默认备份全库,也可以备份某个表,可以设置保留周期,结果压缩,将备份结果发送邮件通知。 #!.../bin/bash # 数据表名称,可以为空 table_name=$1 # 数据库名称 database_name=test_data # 备份周期,单位为天 backup_period=30 #...备份目录 backup_dir=/date/mysql/backup # 邮箱地址 email_address=xxxxx@mail.qq # MySQL账号 mysql_user=root # MySQL...-d "$backup_dir" ]]; then mkdir -p "$backup_dir" fi # 备份MySQL数据表 if [[ -z "$table_name" ]]; then.../mysql_back.sh #备份test_table_name表 ./mysql_back.sh test_table_name 觉得不错别忘了给波哥点赞,分享哦!
最近一段时间,我刚刚进入一家新公司,并接手了这里的一个站点,由于这个站点的架构设计不太合理,导致MySQL的压力始终很大,经常出现超时的Locked进程,于是编写了一段Linux的Shell脚本来定时kill...脚本如下: #!.../bin/bash mysql_pwd="xxxxxx" #mysql的root密码 mysql_exec="/usr/local/mysql/bin/mysql" tmp_dir="/tmp" file_sh...="$tmp_dir/mysql_kill_locked.sh" file_tmp="$tmp_dir/mysql_kill_locked.tmp" file_log="$tmp_dir/mysql_kill_locked.log...-e \"kill $line\"" >> $file_sh done chmod +x $file_sh sh $file_sh #执行临时脚本 > $file_sh #清空临时脚本 最后,将这段脚本加入到
最近博客进行了搬家,CDN源发生改变,想着在CDN上将博客所有图片刷新预热一遍,那么问题来了,刷新预热需要得到所有图片地址,于是直接使用Shell脚本递归遍历wp-content/uploads目录先得到图片文件路径...创建Shell脚本 使用vi编辑器,先创建一个vi traveDir.sh文件,复制下面的脚本代码: #!...chmod +x traveDir.sh 使用方法 上一个步骤已将脚本创建完毕,接下来只需要执行....11/snipaste_20191110_102750.png这个样子的,直接使用文本工具,将/data/wwwroot/xiaoz.me/批量替换为您自己的域名,然后将URL提交到CDN服务商进行刷新预热...总结 脚本批量导出文件路径 文本工具将站点根目录批量替换为自己的域名 提交URL刷新 脚本比较简单,网上一搜一大把,此文参考了:使用Shell遍历目录及其子目录中的所有文件方法
有时候早期建的表上可能缺少主键,这样容易导致查询或者主从复制比较慢。 下面是一个小的脚本,用于找出没有主键的表。 #!.../bin/bash # 找出没有主键的表 # Date: 2017/06/05 source /etc/profile LOG="/tmp/nopk.log_$(date +%F)" user='root...' host='localhost' pass='123456' sock='/tmp/mysql.sock' MYSQL_CMD="mysql -u$user -h$host -p$pass -S$sock..." dbs=$($MYSQL_CMD 2>/dev/null -BNe "select SCHEMA_NAME from information_schema.SCHEMATA where SCHEMA_NAME...not in ('information_schema','performance_schema')") for db in $dbs; do $MYSQL_CMD information_schema
使用php查看mysql的所有库表结构 主要思路: 1.查看所有的数据库; 2.选择某个数据库; 3.查看某个库下面的所有表; 4.查看表结构 主要sql语句: show databases; show...query("show databases"); foreach ($databases as $v1) { $database = $v1['Database']; //排除掉不想查看的库...mysqli->query("show CREATE TABLE $table"); foreach ($decs as $v3) { echo "数据表:
很多时候由于异常或程序错误会导致个别进程占用大量系统资源,需要结束这些进程,通常可以使用以下命令Kill进程: mysql中kill掉所有锁表的进程 2009-05-12 14:03 转载请保留如下作者信息...mysql > show processlist ;出来哗啦啦好几屏幕的, 没有一千也有几百条, 查询语句把表锁住了, 赶紧找出第一个Locked的thread_id, 在mysql的shell里面执行...mysql > kill thread_id ;kill掉第一个锁表的进程, 依然没有改善. 既然不改善, 咱们就想办法将所有锁表的进程kill掉吧, 简单的脚本如下. #!...kill 66402982 ; kill 66402983 ; kill 66402986 ; kill 66402991 ; …..好了, 我们在mysql的shell...中执行, 就可以把所有锁表的进程杀死了.
shell-mysql (1)脚本背景: 由于要在Linux上,远程读取mysql的表的数据,然后做一定清洗后,把数据上传至Hadoop集群中,使用Java写吧,感觉太麻烦了,得在Win上开发好,还得打成...jar包, 上传到Linux上,如果那里出了问题,还得重复这样,非常不方便,那就用shell写一个吧,也不需要什么jdbc驱动包,只需要在Linux上装个MySQL的 客户端即可,用一行yum命令即可搞定...,所以就花了点时间,封装了一个小脚本 (2)功能介绍: 直接在Linux下使用shell脚本远程分页读取MySQL表的数据的一个小脚本,已测过读取600万+的数据 效率与jdbc相差无几 (3...)脚本介绍: 主要有三个脚本构成 1,page.sh 这是一主脚本,里面定义了分页的条件,大家看下便知 2,f.sh 一个小包装的脚本吧,里面会用sed去掉表头一些信息 3,port.sh 分页读取数据的执行脚本...#登陆mysql,负责查询某个表数据总量 MYSQL=`which mysql` count=`$MYSQL -hmysqlhost --default-character-set=utf8
写在前面: 作者最近这几天写了一个shell脚本准备进行出售,由于单独出售利润不大,决定将脚本按照IP进行授权,出售授权,这样可以增加利润。...授权原理: 客户端运行shell脚本时,首先会利用curl从服务器获取两个数据,进行比对,如果两个数据相同,则表明此IP没有被授权,否则则授权成功。...php //此函数用于获取IP function get_real_ip(){ $ip=false; if(!... = mysql_query("SELECT `ID`, `IP` FROM `shell_users` WHERE IP='$ipc' limit 1;",$con); //如果有记录则输出记录在数据库中的行数并退出...正确" fi 由于shell脚本可以直接打开 所以这里使用shc加密 shc的使用具体可以看我博文 这样弄完之后就可以给用户使用了。
---- 前言 我之前有一篇介绍在 MySQL SHELL 环境中如何对文档类数据进行操作的文章(MySQL 在NOSQL 领域冲锋陷阵),但是 MySQL SHELL 功能很多,除了可以操作文档类数据...这里我就用几个简单例子来示范下如何用 MySQL SHELL 操作关系表。 此处引用的数据库示例基于官方的 SAMPLE DATABASE:WORLD,表结构以及数据可以自行下载。...我们来依次看看各个组件对关系表的常用检索方式。...%2Fofficial%2Fmysql.sock> 接下来可以用 ClassicSession 类提供的各种方法对关系表进行相关操作,所有的操作都可以直接用函数 run_sql 来执行: 对表 city...SHELL 来操作 mysql 关系表,推荐用 SHELL 组件的方式,非常灵活。