多服务器mysql自动化执行sql

先实现服务器的root ssh互信,在master服务器做如下操作

一、配置mysql服务器ip列表如下,可自定义:

ceshi1      192.168.177.73     3358

ceshi2      192.168.177.73     3359

二、#linux批量连接多服务器的shell脚本如下:

#!/bin/bash

if [[ "$#" -lt "5" ]]

then

echo "error"

echo "for example:$0 dbip.ini run.sql user pass db_name"

exit 1

fi

name=(`cat /export/scripts/$1 | awk ‘{print$1}‘`)

ip=(`cat /export/scripts/$1 | awk ‘{print$2}‘`)

port=(`cat /export/scripts/$1 | awk ‘{print$3}‘`)

user=$3

pass=$4

db_name=$5

time=`date +%Y%m%d`

touch /export/scripts/$time.txt

len=${#ip[*]}

num=0

while [ $num -lt $len ]

do

echo "===========  ${name[$num]}  ============="

echo "===========  ${name[$num]}  =============" >> /export/scripts/$time.txt

mysql -u$user -p$pass -h${ip[$num]} -P${port[$num]} $db_name  < $2

let num++

done

时间: 2024-08-08 05:17:12

多服务器mysql自动化执行sql的相关文章

MySQL命令执行sql文件的两种方法

MySQL命令执行sql文件的两种方法 摘要:和其他数据库一样,MySQL也提供了命令执行sql脚本文件,方便地进行数据库.表以及数据等各种操作.下面笔者讲解MySQL执行sql文件命令的两种方法,希望能给刚开始学习 MySQL 数据库的朋友们. 学习过 SQLServer 或 Oracle 的朋友会知道,sql 脚本是包含一到多个 sql 命令的 sql 语句集合,我们可以将这些 sql 脚本放在一个文本文件中(我们称之为“sql 脚本文件”),然后通过相关的命令执行这个 sql 脚本文件.基

怎样在dos里进入mysql,执行sql语句

1.进入mysql bin目录下,执行mysql.exe 2.用mysql -uroot -p登陆mysql之后就可以使用 怎样在dos里进入mysql,执行sql语句,布布扣,bubuko.com

JDBC链接Mysql数据库+执行sql

package com.wangbingan.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; /**  * JDBC链接数据库  *   * @author Administrator  *   */ public class JdbcUtil { public static void main(Strin

Entity Framework 在MySQL中执行SQL语句,关于参数问题

在Entity Framework中添加MySQL模型,在写代码的过程中需要直接执行SQL语句. 在SQL语句中用到了@curRank := 0 这样在SQL语句中定义参数,同时还会有传入参数:ai.action_time >= '@startTime', 在执行的过程中会报错. 解决办法,在连接数据库字符串中添加:';Allow User Variables=True' 添加完成后如下: <add name="" connectionString="metada

JDBC链接Mysql数据库+执行sql(mac)

package com.wangbingan.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class JdbcUtil { public static void main(String args[]) throws Exception { Connection conn = null; //

mysql批量执行sql文件

1.待执行的sql文件为1.sql.2.sql.3.sql.4.sql等 2.写一个batch.sql文件: source 1.sql; source 2.sql; source 3.sql; source 4.sql; 3.在mysql下执行source /batch文件所在目录/batch.sql;

mysql source 执行sql脚本,中文变量不显示问题或乱码问题

执行脚本内容如下: SET @pre_version=2017080901; SET @cur_version=2017090401; SET @ver_desc = '测试脚本'; CALL pro_exec_update_db_v_1(@pre_version,@cur_version,'',1,0,''); CALL pro_exec_update_db_v_1(@pre_version,@cur_version,@ver_desc,2,0,''); 存储过程如下: DELIMITER |

Python连接MySQL数据库执行sql语句时的参数问题

由于工作需要,今天写了一个Python小脚本,其中需要连接MySQL数据库,在执行sql命令时需要传递参数,结果出问题了.在网上查了一下,发现有以下几种方式传递参数: 一.直接把sql查询语句完整写入字符串 try: connection = MySQLdb.connect(user="secsel",passwd="[email protected]",host="192.168.138.55",db="anbench")

JDBC连接MYSQL,批量执行SQL语句或在执行一个SQL语句之前执行一个SQL语句

conn = MysqlJdbcUtils.getConnection(); Statement ps=conn.createStatement(); ps.addBatch("truncate QB_ShowCount_Asite_copy"); ps.executeBatch(); String SrcSql = "select convert(unhex(hex(convert(Community using latin1))) using utf8) as Commu