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

S1     1.1.1.1     3306 user passwd11   dbname_s1
S2      2.2.2.2     3306 user passwd22  dbname_s2
S3      3.3.3.3     3306 user passwd33  dbname_s3

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

方法(1):数组方法

#!/bin/bash

if [[ "$#" -lt "2" ]]
 then
     echo "error"
     echo "for example:$0 dbip.ini 20141001/select.sql"
    exit 1
fi

name=(`cat /root/scripts/$1 | awk '{print$1}'`)
ip=(`cat /root/scripts/$1 | awk '{print$2}'`)
port=(`cat /root/scripts/$1 | awk '{print$3}'`)
user=(`cat /root/scripts/$1 | awk '{print$4}'`)
pass=(`cat /root/scripts/$1 | awk '{print$5}'`)
db_name=(`cat /root/scripts/$1 | awk '{print$6}'`)
time=`date -d '-1 day' +%Y%m%d`
touch /home/data/$time.txt
len=${#ip[*]}
num=0
while [ $num -lt $len ]
do
  echo "===========  ${name[$num]}  ============="
  echo "===========  ${name[$num]}  =============" >> /home/data/$time.txt
  mysql -u${user[$num]} -p${pass[$num]} -h${ip[$num]} -P${port[$num]} ${db_name[$num]} < $2
  let num++
done

方法(2),read读取

#!/bin/bash

if [[ "$#" -lt "2" ]]
 then
     echo "error"
     echo "for example:$0 dbip.ini 20141001/select.sql"
    exit 1
fi
cat $1 | while read line
do
   name=(`echo $line | awk '{print$1}'`)
   ip=(`echo $line | awk '{print$2}'`)
   port=(`echo $line | awk '{print$3}'`)
   user=(`echo $line | awk '{print$4}'`)
   pass=(`echo $line | awk '{print$5}'`)
   db_name=(`echo $line | awk '{print$6}'`)
   echo "====================$name==============="
   mysql -u$user -p$pass -h$ip -P$port $db_name < $2
done

三、脚本运行方式,sh jiaoben.sh 参数1 参数2

参数1=dbip.ini(mysql服务器的配置列表)

参数2=需要运行的sql语句的文本,

师例:比如我的脚本名字为,gomysql.sh  需要运行的sql放在select.sql的记事本里面,运行方法如下:

sh gomysql_gamedb.sh dbip.ini select.sql

shell批量远程连接mysql的方法的更多相关文章

  1. navicat远程连接mysql的方法

    navicat远程连接mysql的方法1 先在打开phpmyadmin 添加用户 用户名和密码自己设置 设置如下 2 关闭防火墙service iptables status可以查看到iptables ...

  2. 远程连接mysql 授权方法详解

    今在服务器上 有mysql 数据库,远程访问,不想公布root账户,所以,创建了demo账户,允许demo账户在任何地方都能访问mysql数据库中shandong库. 方案一: 在安装mysql的机器 ...

  3. mysql无法远程连接的解决方法

        在阿里云服务器上安装好MySQL后,首先想到的就是安装一款工具来管理数据库,一开始选择了phpMyAdmin,这个工具安装很简单,只要解压到能访问的目录下就行了.在浏览器中访问phpMyAdm ...

  4. 远程连接MySQL,防火墙阻止访问,解决方法

    远程连接MySQL,防火墙阻止访问,解决方法   xp/2003添加防火墙例外端口 打开防火墙,选择例外选项卡,添加端口 名称:mysqlport 端口号:3306 选中TCP win7添加防火墙例外 ...

  5. 远程连接mysql速度慢的解决方法:skip-name-resolve取消DNS的反向解析

    PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的 MYSQL开启了DNS的反向解析,在MY.INI(WINDOW ...

  6. MySQL远程连接丢失问题解决方法Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0

    最近远程连接mysql总是提示 Lost connection 很明显这是连接初始化阶段就丢失了连接的错误 其实问题很简单,都是MySQL的配置文件默认没有为远程连接配置好,只需要更改下MySQL的配 ...

  7. 解决远程连接mysql很慢的方法(网络正常)

    最近用mysql命令行或者JDBC远程连接mysql速度很慢,而且远大于ping时间.上网搜了一下,解决方案如下: 在/etc/mysql/my.cnf文件的[mysqld]部分加入:skip-nam ...

  8. Navicat for mysql 远程连接 mySql数据库10061、1045错误

    原文地址:http://www.111cn.net/database/mysql/46377.htm 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061 ...

  9. ems lite 客户端远程连接mysql server

    在本地用ems客户端远程连接虚拟机上的mysql server,弹出客户端没有权限访问mysql server.使用下面方法进行设置:mysql> select host,user,passwo ...

随机推荐

  1. 3.C#基础篇-->堆和栈

    一.前言 堆与栈对于理解.NET中的内存管理.垃圾回收.错误和异常.调试与日志有很大的帮助.垃圾回收的机制使程序员从复杂的内存管理中解脱出来,虽然绝大多数的C#程序并不需要程序员手动管理内存,但这并不 ...

  2. mac系统终端sudo免输入密码技能get

    1.需要在/etc/sudoers中配置. 这个文件的权限是r/r/n,配置之前需要加写权限. sudo chmod u-w /etc/sudoers 2.打开命令窗口sudo visudo 或者 s ...

  3. win8.1 pro-64位下安装配置MinGW—64位

    1.下载MinGW-w64位:http://mingw-w64.org/doku.php 点击Downloads 说明:这边使用的是在线安装方式: 在网站里可以看到他安装后的文件夹: 2.安装 运行m ...

  4. CSS 的介绍

    第一章 的介绍 1.CSS:“层叠样式表”,它是cascading style sheets的缩写,作用就是给HTML标签加表现形式(样式-显示),如:字体,图片,列表,位置等. 在浏览器中可以看到部 ...

  5. 12:计算2的N次方

    12:计算2的N次方 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 任意给定一个正整数N(N<=100),计算2的n次方的值. 输入 输入一个正整数N ...

  6. Matlab给三维点云添加高斯噪声和随机噪声

    写在前面 在我们进行点云配准一类的模拟实验时,第一步就是对原始点云进行适当的RT变换,并添加一定的噪声,得到测量点云,然后才可以用我们的算法去进行后面的配准操作.在添加噪声这一块,matlab里并没有 ...

  7. Myeclipse打war包方法

    Myeclipse三种打包方法第一种方法打开Myeclipse如图操作. 如果该项目已存在需要移除之后在进行第三步,接着往下走. 项目打war包成功,推荐使用第一种方法. 第二种方法https://b ...

  8. 原 java调整数据顺序是奇数位于偶数的前面(思路与实现)

    题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. 思路一: 首先这 ...

  9. Qt中常用知识点

    1:QRegExp 正则表达式 QRegExp regExp("[a-zA-Z][1-9][0-9]{0,2}"); xxx->setValidator(new QRegEx ...

  10. GDAL线面互转换(2)

    在上一个文章中介绍了线转化为面和面转化为线,其主要的实现思路就是把面中的点取出来构成线,把线中的点取出来构成面,实际上就是一个硬拷贝,无奈客户的实际需求并非如此,客户想要线转面的时候几条相交线构成面, ...