Database
NPPPNHHH
Never trust the client
展开
-
windows下在一台机器上安装两个MYSQL数据库的方法
正常安装第一个mysql,在控制面板里停止第一个mysql服务,将C:\Program Files\MySQL目录下的所有目录和文件copy到另外一个路径,我这里是copy到E盘环境: OS:Windows 2003 DB:MYSQL5.5 1.正常安装第一个mysql(安装步骤省略) 2.在控制面板里停止第一个mysql服务 3.将C:\Pro转载 2017-07-13 14:35:44 · 654 阅读 · 0 评论 -
Mysql备份还原数据库之mysqldump实例及参数详细说明
我们在运营项目的过程中肯定会遇到备份数据库,还原数据库的情况,我们一般用一下两种方式来处理:1.使用into outfile 和 load data infile导入导出备份数据这种方法的好处是,导出的数据可以自己规定格式,并且导出的是纯数据,不存在建表信息,你可以直接导入另外一个同数据库的不同表中,相对于mysqldump比较灵活机动。我们来看下面的例子:(1)下转载 2014-09-12 16:11:23 · 754 阅读 · 0 评论 -
mysql 实现row_number() over(partition by ) 分组排序功能
创建表 CREATE TABLE `a` ( `ID` INT(10) NULL DEFAULT NULL, `class` INT(10) NULL DEFAULT NULL, `score` INT(10) NULL DEFAULT NULL)COLLATE='utf8_general_ci'ENGINE=InnoDB;对 class进行分组原创 2014-09-05 14:25:07 · 36852 阅读 · 4 评论 -
mysql优化的重要参数 key_buffer_size table_cache
table_cache设置成很大的值。如果设置得太高,可能会造成文件描述符不足,从而造成性能不稳定或者连接失败。 open_tables表示当前打开的表缓存数,如果执行flush tables操作,则此系统会关闭一些当前没有使用的表缓存而使得此状态值减小; opend_tables表示曾经打开的表缓存数,会一直进行累加,如果执行flush tables操作,值不会减小。 在转载 2014-06-19 19:07:33 · 4528 阅读 · 0 评论 -
mysql insert_select ID 自增长
insert into player_equipment (id,player_id,equipment_id,equipment_num)select @i:=@i+1 as id, t.* from(select 1,t.id,100 from s_car_equipment t) t ,(SELECT @i :=(select ifnull(max(a.id),0) from pl原创 2014-07-29 09:57:49 · 4959 阅读 · 0 评论 -
mysql 存储过程临时表代替游标
BEGINDECLARE maxCnt INT DEFAULT 0;DECLARE i INT DEFAULT 0;DECLARE tId BIGINT DEFAULT 0;DECLARE tColorId INT DEFAULT 0;/*创建临时表*/DROP TABLE IF EXISTS tmp_expire_player_car_color;CREATE TEMPOR原创 2014-07-22 18:40:07 · 2017 阅读 · 0 评论 -
Mysql 优化
update 慢 在my.ini 下 把 innodb_flush_log_at_trx_commit=1 改为 0原创 2014-06-19 10:05:02 · 785 阅读 · 0 评论 -
MYsql 排名
SELECT @counter:=@counter+1 AS rank,t.*FROM (SELECT a.id,b.player_name,a.snatch_timesFROM player_attribute a,player bWHERE a.id = b.id AND IFNULL(a.snatch_times,0)>0ORDER BY a.snatch_times DESC)原创 2014-06-13 18:30:41 · 1193 阅读 · 0 评论 -
mysql中explain用法详解
EXPLAIN用于SELECT语句中的每个表返回一行信息。表以它们在处理查询过程中将被MySQL读入的顺序被列出如果在select语句前放上关键词explain,mysql将解释它如何处理select,提供有关表如何联接和联接的次序。explain的每个输出行提供一个表的相关信息,并且每个行包括下面的列:1,id select识别符。这是select的查询序列号。转载 2014-06-12 12:00:44 · 720 阅读 · 0 评论 -
Mysql存储过程优化——使用临时表代替游标
Mysql游标在操作小数据量时比较方便,效率可观,但操作大数据量,速度比较慢,甚至直接产生系统错误。 一般说来,当操作的数据超过1万条时,就避免用游标吧。 为了测试游标性能,写了下面一个游标对IDC_Gather_Info表中数据进行遍历Sql代码 CREATE DEFINER=`root`@`%` PROCEDURE `debug`(转载 2014-07-22 17:35:08 · 8464 阅读 · 2 评论 -
Rank() over()的用法
创建一个test表,并插入6条数据。CREATE TABLE test( a INT, b INT, c CHAR)INSERT INTO test VALUES(1,3,'E')INSERT INTO test VALUES(2,4,'A')INSERT INTO test VALUES(3,2,'D')INSERT INTO test VALUES(3,5,'B')转载 2014-04-11 16:06:54 · 4865 阅读 · 0 评论 -
ORA-01403:no data found 解决办法
背景:在一个存储过程中,调用另一个存储过程,其中有一句话是 select a into b from table;当查询出来的a没有数据时,这个时候就会抛出这个异常:ORA-01403:no data found 。 解决办法: 1:捕获异常,用exception when no_data_found then 处理一下。转载 2014-04-03 12:04:48 · 5330 阅读 · 0 评论 -
ORA-02287: 此处不允许序号
开发人员反映序列不能使用,自己回来测试了一下 select test.sequence.nextval,mgr,sum(sal) from emp group by mgr ORA-02287: 此处不允许序号 果然,在外面再包一层就可以了SQL> select test_sequence.nextval,mgr,sm from (select mg转载 2014-01-15 10:44:48 · 5587 阅读 · 0 评论 -
三种oracle赋权
在学习oracle数据库的过程中,oracle赋权是需要重点掌握的知识,下面就为您将介绍三种oracle赋权的情况,希望对您能有所帮助。1)角色赋权:A>创建角色:create role role1; B>给角色赋权:grant select any talble to role1; (grant create any table,create procedure to r转载 2013-12-27 17:11:58 · 1781 阅读 · 0 评论 -
mysql 动态 sql
BEGIN/****declare cnt int ;set @stmt = concat('select count(1) from player_item_00 into @v_cnt;');PREPARE stmt1 FROM @stmt;EXECUTE stmt1;deallocate prepare stmt1;set cnt = @v_cnt ;select cn原创 2014-08-30 16:20:44 · 804 阅读 · 0 评论 -
MYSQL 分表 动态SQL
begin declare v_item_id bigint default 0; declare v_cnt int default 0; declare v_is_compose_flag int default 0; declare v_table_count int default 0; declare v_table_num int default 1原创 2014-08-30 15:57:43 · 2482 阅读 · 0 评论 -
Mysql优化方案
[client]#客户端编码方式,最好和服务端保存一致loose-default-character-set = utf8[mysqld]#端口port=3306#mysql根目录basedir ="D:\IDE\mysql-5.6.25-winx64"#数据文件存放目录datadir ="D:\IDE\mysql-5.6.25-winx64\data"原创 2017-03-06 14:42:21 · 629 阅读 · 0 评论 -
MySQL表的四种分区类型
MySQL表的四种分区类型一、什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表。mysql5.1开始支持数据表分区了。 如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区。当然也可根据其他的条件分区。二、为什么要对表进行分区为了改善大型表以及具有各种访问模式的表的可伸缩性,可管理性和提高数据库效率。分区的一转载 2016-12-06 15:50:14 · 525 阅读 · 0 评论 -
细说数据库高性能架构之路
相对而言数据库高性能架构对于一些应用端开发人员来说是一个相对陌生的领域,是在具体的数据库产品之上搭建的环境,需要像DBA这样对数据库产品有足够的了解才能有所涉及,虽然不能深入其中,但可以通过一些经典的高可用架构学习其中的思想。就我所了解到的有以下几种: MySQL Replication MySQL Cluster Oracle RAC IBM HACMP转载 2016-12-01 17:27:37 · 1272 阅读 · 0 评论 -
MySQL server has gone away 问题的解决方法
mysql出现ERROR : (2006, 'MySQL server has gone away') 的问题意思就是指client和MySQL server之间的链接断开了。造成这样的原因一般是sql操作的时间过长,或者是传送的数据太大(例如使用insert ... values的语句过长, 这种情况可以通过修改max_allowed_packed的配置参数来避免,也可以在程序中将数据分转载 2016-09-29 20:46:23 · 544 阅读 · 0 评论 -
MySQL远程连接丢失问题解决方法(Lost connection to MySQL server)
最近服务器很不稳定,于是重装了mysql 和php 服务,但是接着却遇到了很头疼的麻烦。远程连接mysql是总是提示:复制代码代码如下:Lost connection to MySQL server at ‘reading initial communication packet', system error: 0很明显这是连接初始化阶段就丢失了连接的错误。转载 2016-07-13 10:14:57 · 2392 阅读 · 0 评论 -
MySQL同步故障:" Slave_SQL_Running:No" 两种解决办法
进入slave服务器,运行:mysql> show slave status\G ....... Relay_Log_File: localhost-relay-bin.000535 Relay_Log_Pos: 21795072 Relay_Master_Log_File: localhost转载 2016-03-30 13:41:12 · 42870 阅读 · 6 评论 -
MySql 外键约束 之CASCADE、SET NULL、RESTRICT、空等类型分析和作用解读
主表,从表【MySql】//http://my.oschina.net/cart/blog/277624空、RESTRICT、NO ACTION删除:从表记录不存在时,主表才可以删除。删除从表,主表不变更新:从表记录不存在时,主表才可以更新。更新从表,主表不变//http://my.oschina.net/cart/blog/277624CASCADE删除:删除主表转载 2016-05-29 10:26:01 · 619 阅读 · 0 评论 -
mysql启动和关闭外键约束的方法
禁用外键约束SET FOREIGN_KEY_CHECKS=0;启动外键约束SET FOREIGN_KEY_CHECKS=1;查看当前FOREIGN_KEY_CHECKS的值SELECT @@FOREIGN_KEY_CHECKS;转载 2016-03-30 18:57:06 · 2286 阅读 · 0 评论 -
mysql主从复制
怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下:1、主从服务器分别作以下操作: 1.1、版本一致 1.2、初始化表,并在后台启动mysql 1.3、修改root的密码2、修改主服务器master: #vi /etc/my.cnf [mysqld] log-bin=mysql-bin //[必须]启用二进转载 2016-03-30 13:40:40 · 480 阅读 · 0 评论 -
RedHat 6.3安装MySQL-server-5.6.13-1.el6.x86_64.rpm
下载地址:http://cdn.mysql.com/archives/mysql-5.6/MySQL-server-5.6.13-1.el6.x86_64.rpmhttp://cdn.mysql.com/archives/mysql-5.6/MySQL-devel-5.6.13-1.el6.x86_64.rpmhttp://cdn.mysql.com/archives/mysql-转载 2015-03-31 13:35:50 · 6326 阅读 · 1 评论 -
MySQL5.6主从复制
一、前言:为什么MySQL要做主从复制(读写分离)?通俗来讲,如果对数据库的读和写都在同一个数据库服务器中操作,业务系统性能会降低。为了提升业务系统性能,优化用户体验,可以通过做主从复制(读写分离)来减轻主数据库的负载。而且如果主数据库宕机,可快速将业务系统切换到从数据库上,可避免数据丢失。二、MySQL主从复制(读写分离)和集群的区别:我对MySQL也是刚开始研究,不是很转载 2015-04-11 16:43:33 · 852 阅读 · 0 评论 -
linux中修改mysql的默认编码
1、登录mysql,查看mysql默认的编码格式show variables like “character%”;如果现实-bash: show: command not found 说明没有登录mysql数据库,需要进行登录结果如下图所示:2、修改my.cnf 文件目录为/etc/my.cnf如果系统中没有my.cnf文件、则需要创建此文件,具体步骤请看3转载 2015-03-31 17:22:58 · 2972 阅读 · 0 评论 -
单机版的Mysql主从数据库配置
环 境mysql-5.0.22 解压版。(Copy 成两份 ,master,slave)windowsXP一、Master的设置1、配制my.ini [client] port = 3308 [mysqld] port =3308 server-id = 1 binlog-do-db=test1 ##转载 2014-10-31 15:26:19 · 1181 阅读 · 0 评论 -
MySQL复制与读写分离
MySQL的复制架构就是以一台服务器充当主服务器,而一台或多台其它服务器充当从服务器。从服务器基于主服务器的二进制日志跟踪所有对数据库的更改操作,以而在从服务器上的数据拷贝执行相同的更改操作。使用MySQL复制架构可以通过在主服务器和从服务器之间分离客户处理负荷,从而得到更好的客户响应时间。使用复制的另一个好处是可以使用一个从服务器执行备份,而不会干扰主服务器。因而,MySQL复制架构主要应用于:转载 2014-09-28 14:14:43 · 895 阅读 · 0 评论 -
MySQL主从复制与读写分离
MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通转载 2014-09-28 17:59:43 · 768 阅读 · 0 评论 -
sql之left join、right join、inner join的区别
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行举例如下: --------------------------------------------表A记录如下:aID aNum1转载 2013-12-27 13:15:28 · 695 阅读 · 0 评论 -
oracle 闪回功能详解
Oracle的闪回技术提供了一组功能,可以访问过去某一时间的数据并从人为错误中恢复。闪回技术是Oracle 数据库独有的,支持任何级别的恢复,包括行、事务、表和数据库范围。使用闪回特性,您可以查询以前的数据版本,还可以执行更改分析和自助式修复,以便在保持数据库联机的同时从逻辑损坏中恢复。闪回技术包括以下特性: (1)闪回查询允许用户查询过去某个时间点的数据,以重新构建由于意外删除或更转载 2014-01-07 20:25:52 · 23498 阅读 · 0 评论 -
oracle ID自增长
#创建表create table s_user(id number(6) primary key,user_id varchar2(20),password varchar2(20),isdisabled number(20))#创建序列create sequence user_seq increment by 1 start with 1;#创建触发器cr原创 2011-10-14 16:22:44 · 710 阅读 · 0 评论 -
hibernate实体的几种状态:
实体的生命周期中,实体主要经过瞬时(Transient),托管(Attatched或Managed),游离(Detached)和销毁(Removed)四个状态. 瞬时状态:是指对象被new之后尚未保存到数据库,一旦服务器停止,JVM会回收它所占的内存资源,此时对象原创 2011-10-11 14:53:44 · 2734 阅读 · 1 评论 -
SQL时间日期处理
<br />SQL时间/日期处理<br /> <br />SQL时间/日期处理<br />在SQL语句中,常常用会对时间(或日期)进行一些处理,下面是比较通用的一些语句:延迟:<br />sysdate+(5/24/60/60) 在系统时间基础上延迟5秒<br />sysdate+5/24/60 在系统时间基础上延迟5分钟<br />sysdate+5/24 在系统时间基础上延迟5小时<br />sysdate+5原创 2011-03-25 08:21:00 · 4238 阅读 · 0 评论 -
几种常见数据库的驱动格式和URL格式
MY SQL: com.mysql.jdbc.DriverSQL Server: com.miscrosoft.sqlserver.jdbc.SQLServerDriverOracle : oracle.jdbc.driver.OracleDriverURL 格式MY SQL: jdbc:mysql://localhost:3306/数据库名?user=root原创 2011-10-01 10:00:13 · 3970 阅读 · 0 评论 -
Error while preforming database login with the sql driver Unable to create...
TCP/IP协议没有启动解决办法就是在我们手动去启动TCP/IP协议具体做法如下: 配置工具->Sql Server Configuration Manager->MSSQLSERVER的协议(双击)->(双击)打开右边的TCP/IP-->协议一栏里面的General有个已启动一项,修改为“是”再应用-->确定.最后再重新启动sqlserver的服务的OK了。。。原创 2011-12-09 20:41:13 · 1677 阅读 · 0 评论 -
删除表中多列或全部列重复的解决方法
一 全部列操作-- select * from sys_role_module t;-- 插入数据insert into sys_role_moduleselect t.role_id,14 from sys_role t;insert into sys_role_moduleselect t.role_id,1401 from sys_role t;-- 创建临时表原创 2013-11-25 15:32:30 · 1849 阅读 · 0 评论 -
oracle创建表空间
/*分为四步 *//*第1步:创建临时表空间 */create temporary tablespace user_temp tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management l转载 2013-03-12 09:59:21 · 711 阅读 · 0 评论