- 浏览: 2538961 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (676)
- linux运维 (157)
- php (65)
- mysql (78)
- nginx (27)
- apche (18)
- framework (6)
- windows (9)
- IDE工具 (23)
- struts2 (7)
- java (13)
- 移动互联网 (14)
- memcache redis (23)
- shell基础/命令/语法 (37)
- shell (50)
- puppet (4)
- C (11)
- python (9)
- 产品经理 (27)
- Sphinx (4)
- svn (12)
- 设计构建 (12)
- 项目管理 (44)
- SEO (1)
- 网站架构 (26)
- 审时度势 (42)
- 网络 (14)
- 激发事业[书&视频] (81)
- 其它 (12)
- 摄影 (8)
- android (21)
最新评论
-
zhongmin2012:
原文的书在哪里
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
renzhengzhi:
你好,请问个问题,从master同步数据到slave的时候,s ...
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
ibc789:
你好,看了你的文章,我想请教个问题, 我在用 redis的时候 ...
redis 的两种持久化方式及原理 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
======================================== 单库升级
#!/bin/sh SVN配置 #svn_username="username" #svn_password="password" #svn_url="http://192.168.1.2/svn/test/" SQL脚本路径 sql_path="/var/www/data/scheme" #MySQL用户名,格式:空或者-h hostname或者-h ip db_host="-h 192.168.1.7" #MySQL用户名,格式:空或者-h hostname或者-h ip db_port="-P 3301" #MySQL用户名,格式:-u root或者-u username db_root_name="-uroot" #MySQL用户密码,格式:空或者-p password db_root_pass="-p123456" #########参数配置 clear if [ -z "$*" ]; then echo "如果没有SQL文件请运行下面命令" #echo "/usr/bin/svn export --username ${svn_username} --password ${svn_password} --force ${svn_url} ${sql_path}" echo echo "请输入数据库名称。" echo "多个数据库名称请用空格分隔。" echo "$0 db_name1 [db_name2 db_name3 ...]" echo exit fi #循环创建数据库的存储过程、函数、视图 for db_name in $*; do echo ---------- echo "开始创建${db_name}数据库的存储过程、函数、视图结构..." mysql $db_root_name $db_root_pass $db_port $db_host $db_name < $sql_path/TEST_f_common.sql mysql $db_root_name $db_root_pass $db_port $db_host $db_name < $sql_path/TEST_Update_20120114.sql echo "结束创建${db_name}数据库的存储过程、函数、视图结构..." echo "----------" done
======================================== 测试环境:多(公司)库升级
sql_boss.sql 用来查询前缀库
select CONCAT('test_',db_suffix) from corp;
sql_boss.txt 用来保存所有公司的库名
#!/bin/sh
#SVN配置
#svn_username="username"
#svn_password="password"
#svn_url="http://192.168.1.201:8080/svn/sche
me"
#SQL脚本路径
sql_path="/var/www/WWW_TEST_TEST/protected/data/scheme"
#MySQL用户名,格式:空或者-h hostname或者-h ip
db_host="-h 192.168.1.78"
#MySQL用户名,格式:空或者-h hostname或者-h ip
db_port="-P 3301"
#MySQL用户名,格式:-u root或者-u username
db_root_name="-ureplication"
#MySQL用户密码,格式:空或者-p password
db_root_pass="-p123456"
#########参数配置
clear
echo "update mysql dbs..."
db_boss="test_boss"
mysql $db_root_name $db_root_pass $db_port $db_host $db_hub < sql_boss.sql |sed '1d'|tr -s '\r\n' ' ' > sql_boss.txt
all_corp=sql_boss.txt
if [[ ! -s "sql_boss.txt" ]]; then
echo "corp is empty!"
fi
if [[ -z "$*" && ! -s "sql_boss.txt" ]]; then
echo "如果没有SQL文件请运行下面命令"
#echo "/usr/bin/svn export --username ${svn_username} --password ${svn_password} --force ${svn_url} ${sql_path}"
echo
echo "请输入数据库名称。"
echo "多个数据库名称请用空格分隔。"
echo "$0 db_name1 [db_name2 db_name3 ...]"
echo
exit
fi
cat $all_corp
#循环创建数据库的存储过程、函数、视图
for db_name in `cat $all_corp` ;do
echo ----------
echo "开始创建${db_name}数据库的存储过程、函数、视图结构..."
mysql $db_root_name $db_root_pass $db_port $db_host $db_name < $sql_path/p_common.sql
echo "结束创建${db_name}数据库的存储过程、函数、视图结构..."
echo "----------"
done
======================================== 正式环境
sql_hub_sc.sql
SELECT corp.db_suffix,game_corpdb.game_id,game_corpdb.db_host FROM corp LEFT JOIN game_corpdb ON corp.id = game_corpdb.corp_id WHER
E game_corpdb.game_id=2;
输出格式:
sys 3 192.168.102.71:3301
tem 3 192.168.102.71:3301
ta 3 192.168.102.71:3301
tb 3 192.168.102.71:3301
ce1 3 192.168.102.71:3302
ce2 3 192.168.102.71:3302
ce3 3 192.168.102.71:3302
ce5 3 192.168.102.71:3302
da 3 192.168.102.71:3302
ce4 3 192.168.102.71:3302
fl 3 192.168.102.71:3301
update_hub_mysql_sc.sh
#!/bin/sh
#SQL脚本路径
sql_path="/var/www/sc/protected/data/scheme"
#MySQL用户名,格式:空或者-h hostname或者-h ip
db_host_hub="-h 192.168.102.71"
#MySQL用户名,格式:空或者-h hostname或者-h ip
db_port="-P 3301"
#MySQL用户名,格式:-u root或者-u username
db_root_name="-ureplication"
#MySQL用户密码,格式:空或者-p password
db_root_pass="-p123456"
#########参数配置
clear
#hub库名
db_hub="ssc_hub"
mysql $db_root_name $db_root_pass $db_port $db_host_hub $db_hub < sql_hub_sc.sql |sed '1d' > sql_hub_sc.txt
all_corp=sql_hub_sc.txt
if [[ ! -s "sql_hub_sc.txt" ]]; then
echo "corp is empty!"
fi
cat $all_corp | while read line
do
echo ----------
flag1=`echo "$line" | awk 'BEGIN {FS=" "}{print $1}'`
flag2=`echo "$line" | awk 'BEGIN {FS=" "}{print $2}'`
flag3=`echo "$line" | awk 'BEGIN {FS=" "}{print $3}'`
corp_db_host=`echo "$flag3" | awk 'BEGIN {FS=":"}{print $1}'`
corp_db_port=`echo "$flag3" | awk 'BEGIN {FS=":"}{print $2}'`
if [[ $flag2 -eq 2 ]];then
corp_name="sc_${flag1}"
else
corp_name="kc_${flag1}"
fi
echo "开始升级${corp_name}数据库的存储过程、函数、视图结构..."
mysql -h $corp_db_host $db_root_name $db_root_pass -P $corp_db_port $corp_name < $sql_path/SC_p_order_rerve.sql
echo "结束升级${corp_name}数据库的存储过程、函数、视图结构..."
echo "----------"
done
exit 0
发表评论
-
设置sudo为不需要密码
2015-04-17 09:04 10510有时候我们只需要执 ... -
haproxy 安装配置和负载实例
2015-03-27 11:49 11531一、环境说明实验环境 OS CentOS5.4 192.1 ... -
/dev/mapper/VolGroup00-LogVol00 100% 如何处理
2015-03-03 10:51 8209服务器磁盘跑满了, 命令查看 如下 [root@lo ... -
Tsar开源:淘宝内部大量使用的系统监控工具
2014-08-07 09:51 971Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告 ... -
Linux运维常用命令 (转载)
2013-01-31 10:23 25241 删除0字节文件find-type f - ... -
[汇总]shell笔试
2013-01-24 17:32 3363http://president.blog.51cto.co ... -
linux恢复 rm -rf 删除的文件:extundelete
2013-01-24 15:47 8910http://blog.csdn.net/pang6013 ... -
网站排障分析常用的命令
2013-01-21 18:17 1397------------------------------- ... -
迁移vmware服务器后Device eth0 does not seem to be present
2013-01-21 10:58 2250用VMware 安装 linux 6.0 ... -
检测 mysql 的sleep进程数
2013-01-04 14:13 1661#!/bin/sh 注:这个脚 ... -
LoadRunner如何监控Linux系统资源 : rpc.rstatd
2012-12-17 14:49 10294一 简述:LoadRunner监控Linux资源时弹出如下错误 ... -
僵尸Z进程和D进程
2012-12-10 16:47 13146-------------- 1 关于ZOMBIE进 ... -
Unix操作系统硬链接与符号链接的区别
2012-12-10 16:08 2021Unix操作系统有很多值得 ... -
nagios配置参数详解
2012-12-04 14:12 9440# Nagios return codes#定 ... -
nagios自定义监控nginx php和ip_conn
2012-12-03 17:57 3169自定义ip_conn.sh :http://zhume ... -
【汇总】shell show收藏
2012-11-29 14:03 1268================== shell从文本取对应的 ... -
Kickstart+PXE+DHCP+TFTP+NFS自动安装Centos5
2012-11-29 11:34 1602http://5ydycm.blog.51cto.com/11 ... -
haproxy+keepalived高可用负载均衡(七层)
2012-11-29 10:36 4006HAproxy是一款基于TCP( ... -
LVS+Keepalived
2012-11-29 10:10 1734http://www.linuxvirtualserver.o ... -
haproxy & LVS*(keepalived和heartbeat) & ng的比较
2012-11-29 10:04 7589http://network.51cto.com/art/ ...
相关推荐
dbExecurteSQL.sh:数据库执行SQL脚本 根据配置文件获取数据库连接,根据传入sql执行sql 调用案例:dbConnectTest.sh "pssc_jk" "select sysdate from dual;" 参数介绍: "pssc_jk" 指配置文件中配置的数据库...
在这个“cours-sql-sh-.zip”压缩包中,我们找到了一个名为“cours-sql-sh-.pdf”的文件,这很可能是关于SQL课程的详细教程,特别针对在Windows环境下操作。 在SQL课程中,你将学习到如何创建数据库,定义数据结构...
Hibernate是Java领域的一个持久层框架,它简化了数据库操作,通过ORM将Java对象映射到数据库表,避免了直接编写SQL语句。在BBS系统中,Hibernate用于处理论坛的用户信息、帖子、回复等数据的CRUD(Create, Read, ...
首先,`QL_code.sh`脚本可能是用来执行SQL查询的,SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言。它包括了增(INSERT)、删(DELETE)、改(UPDATE)和查(SELECT)等操作。如果`QL_code....
UPDATE employees SET salary = salary * v_raise_factor WHERE department_id = v_department_id AND termination_date IS NULL; ``` ### 条件语句(IF) #### 示例1:判断入职日期是否早于当前日期 ```sql IF ...
在PL/SQL中使用SQL语句时,分为DML语句(如INSERT、UPDATE、DELETE)和DDL语句(如CREATE、ALTER、DROP),以及事务控制语句(如COMMIT和ROLLBACK)。这些语句用于操作数据库的数据和结构。 PL/SQL中的SELECT语句...
- **数据库访问函数**:如`clearwarnings`, `close`, `commit`, `database`, `exec`, `get`, `insert`, `isconnection`, `isreadonly`, `ping`, `rollback`, `set`, `sql2native`, `update`等。 - **数据库游标访问...
SQL Server支持三种基本的封锁机制:排他锁(EX锁)、共享锁(SH锁)和更新锁(UPDATE锁)。若事务对某页加EX锁,则其它事务不能对此页加锁且不能读取或修改此页。若事务对某页加SH锁,则其它事务只能对该页加SH锁,且只能...
3. **Hibernate**:Hibernate是一个对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,而无需编写SQL语句。Hibernate会根据对象的状态自动进行CRUD操作(创建(Create)、读取(Retrieve)、更新...
You may still update the column with an explicit UPDATE statement referencing the SQL UNISTR function. - Bug 4924518: Only the SQL Worksheet statement input area (code editor) uses a configurable ...
它通过ORM(Object-Relational Mapping)映射,将数据库中的表映射为Java实体类,实现了数据的CRUD(Create、Read、Update、Delete)操作,降低了对SQL的直接依赖。 4. **数据层**:在这个网上购物系统中,数据层...
在S2SH框架中,Hibernate负责数据持久化,将Java对象映射到数据库表,实现了对数据库的CRUD(Create、Read、Update、Delete)操作。开发者可以通过编写简单的Java实体类和配置文件,无需编写大量SQL语句,即可完成...
这个名为"S2SH-CRUD.rar_s2sh"的压缩包文件,显然是一个基于S2SH框架构建的人力资源管理系统,它包含了基础的增删改查(Create, Read, Update, Delete,简称CRUD)功能。对于初学者来说,这是一个理想的实践项目,...
"SH框架"通常指的是Spring Boot和Hibernate的组合,这是一个常见的Java Web开发框架。Spring Boot简化了设置和配置过程,而Hibernate则是一个强大的对象关系映射(ORM)工具,用于处理数据库交互。在这个项目中,"增...
接着,"增删改查"(CRUD)是数据库操作的基础,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)数据。在S2SH框架下,这些操作可以通过Hibernate实现。Hibernate作为ORM工具,允许开发者用Java...
更新(Update)则是通过修改对象属性后,调用Hibernate的update()或merge()方法。查询(Read)可以是简单的单个对象查找,也可以是复杂的分页查询,都是通过Struts和Hibernate的配合完成。 **整合Struts与Hibernate...
UPDATE sh_ivd SET logname = REPLACE(logname, ' ', ''); ``` 这条命令将会更新 `sh_ivd` 表中的所有记录,将 `logname` 字段中的所有空格替换为空字符串。 #### 5. 处理特殊字符 除了空格之外,有时还需要处理...
- **更新(Update)**:修改已有的对象属性后,调用`update()`或`saveOrUpdate()`方法将更改同步到数据库。 - **删除(Delete)**:调用`delete()`方法从数据库中移除对象。 4. **事务管理**:为了保证数据的一致...
脚本可能包含了SQL查询、DML语句(INSERT、UPDATE、DELETE)、DDL语句(CREATE、ALTER、DROP)或者PL/SQL块。 3. **变量和参数**:脚本可能接收命令行参数,用于定制化数据生成的过程,比如数据量、表名或特定值。 ...
Hibernate通过实体类(Entity)与数据库表进行映射,使用HQL(Hibernate Query Language)或SQL进行查询,支持事务管理和缓存机制,极大地提高了开发效率。 在这个"sh增删改查"案例中,我们首先需要创建一个数据库...