随笔分类 -  MySQL

1 2 下一页
设置MYSQL允许用IP访问
摘要:设置MYSQL允许用IP访问2012-01-10 14:43 55人阅读 评论(0) 收藏 举报SQL Error (1130): Host '192.168.1.100' is not allowed to connect to this MySQL server说明所连接的用户帐号没有远程连接的... 阅读全文
posted @ 2015-02-05 02:33 davidkam 阅读(898) 评论(0) 推荐(0) 编辑
读写分离,就该这么改进(转)
摘要:本文是自己对读写分离数据库方面的一些改进想法一般做数据库读写分离的标准情况是:1台写入数据库+2台查询数据库+1个请求转发器这样的配置容易出现这样的问题:1. 写数据库的写入成为瓶颈2. 查询所需时间还是很长(由于表很大导致)下面这些办法,欢迎大家给出各自的看法解决办法一: 1. 查询数据库:增加内存,以达到通过内存就可以获取大多数的数据,较少I/O耗时带来的延迟 2. 写入数据库:删除索引,以达到最快速的I/O写入耗时这样做的问题是:没有针对特别耗时的查询单独处理,因此当执行某些耗时的查询时,会显得特别慢解决办法二: 1. 查询数据库分成2种,分别为:普通数据读取数据库、特别耗时查询数据库 阅读全文
posted @ 2013-05-18 08:34 davidkam 阅读(192) 评论(0) 推荐(0) 编辑
MySQL导出导入SQL
摘要:mysql导入导出.sql文件备份还原数据库步骤:一.MYSQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建->PATH=";path/mysql/bin;" 其中path为MYSQL的安装路径。二.命令行进入MYSQL的方法:C:\>mysql -h hostname -u username -p按ENTER键,等待然后输入密码,这里hostname为服务器的名称,如localhost,username为MYSQL的用户名,如root.进入命令行就可以直接操作MYSQL了。三.从数据库导出数据库文件:1.将数据库my 阅读全文
posted @ 2012-12-20 22:08 davidkam 阅读(318) 评论(0) 推荐(0) 编辑
Mysql数据库加锁与解锁(转)
摘要:转自:http://www.pai7.cn/article.asp?id=359SQL语句:LOCKTABLEStablenameWRITE;LOCKTABLEStablenameREAD;InsertINTOassignmentVALUES(1,7513,'0000-00-00',5),(1,7513,'2003-01-20',8.5);UNLOCKTABLES;对于多个用户同时提交表单,并且同时向数据库中得到表单ID,我是这样解决的:mysql_query("locktablesporead");mysql_query("loc 阅读全文
posted @ 2012-12-11 11:55 davidkam 阅读(797) 评论(0) 推荐(0) 编辑
Mysql事务以及加锁机制(转)
摘要:事务的特征ACID,即原子性、一致性、隔离性、持久性。原子性保证一个事务为一个最小的单元,内部不可分割;一致性保证事务中的每个操作线程不可单独提交,成功则一起提交,不成功则事务回滚;隔离性保证不同事务间看到的数据视图相互独立,相互隔离(隔离级别可设置);持久性保证事务提交后数据会持久的保存下来;sql规范定义的事务的隔离级别:1.READ UNCOMMITTED(读取未提交内容) 所有事务可以看到未提交事务的执行结果,本隔离级别很少用到实际应用中,读取未提交的数据,又称为“脏读”。2.READ COMMITTED(读取提交内容) 大多数数据库的默认隔离级别是此级别,但不是mysql默认的。.. 阅读全文
posted @ 2012-12-11 11:55 davidkam 阅读(292) 评论(0) 推荐(0) 编辑
MySql中捕获异常的方法(转)
摘要:mySql中是否能有SQLserver的@@error变量呢,或者如c#中的try catch语法呢。答案是肯定的,实例代码如下: 1 DROP PROCEDURE IF EXISTS sp_call_jobs; 2 CREATE PROCEDURE sp_call_jobs() 3 NOT DETERMINISTIC 4 SQL SECURITY DEFINER 5 COMMENT '' 6 BEGIN 7 declare _row,_err,_count int default 0; 8 DECLARE CONTINUE HANDLER FOR SQLEXCEPT... 阅读全文
posted @ 2012-12-06 01:04 davidkam 阅读(1127) 评论(0) 推荐(0) 编辑
MySQL中MyISAM 与innoDB的区别(转)
摘要:InnoDB 和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而 InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部 键等高级数据库功能。MyIASM是IASM表的新版本,有如下扩展:二进制层次的可移植性。NULL列索引。对变长行比ISAM表有更少的碎片。支持大文件。更好的索引压缩。更好的键吗统计分布。更好和更快的auto_increment处理。以下是一些细节和具体实现的差别:1.InnoDB不支持FULLTEX 阅读全文
posted @ 2012-12-05 23:39 davidkam 阅读(191) 评论(0) 推荐(0) 编辑
MySQL存储过程的参数(转)
摘要:MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT,形式如:CREATEPROCEDURE([[IN|OUT|INOUT]参数名数据类形...])IN输入参数:表示该参数的值必须在调用存储过程时指定,在存储过程中修改该参数的值不能被返回,为默认值OUT输出参数:该值可在存储过程内部被改变,并可返回INOUT输入输出参数:调用时指定,并且可被改变和返回Ⅰ.IN参数例子创建:1.mysql>DELIMITER//2.mysql>CREATEPROCEDUREdemo_in_parameter(INp_inint)3.->BEGIN4.-> 阅读全文
posted @ 2012-11-30 14:09 davidkam 阅读(591) 评论(0) 推荐(0) 编辑
MySQL常用命令(转)
摘要:MYSQL常用命令1.导出整个数据库mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql3.导出一个数据库结构mysqldump -u wcnc -p -d –add-drop- 阅读全文
posted @ 2012-11-29 00:14 davidkam 阅读(191) 评论(0) 推荐(0) 编辑
Mysql存储过程优化——使用临时表代替游标(转)
摘要:Mysql游标在操作小数据量时比较方便,效率可观,但操作大数据量,速度比较慢,甚至直接产生系统错误。一般说来,当操作的数据超过1万条时,就避免用游标吧。为了测试游标性能,写了下面一个游标对IDC_Gather_Info表中数据进行遍历View Code CREATE DEFINER=`root`@`%` PROCEDURE `debug`(IN `beginTime` int, IN `checkTime` int) BEGIN DECLARE t_id VARCHAR(64) DEFAULT ''; DECLARE t_item TINYINT DEFAULT 0; ... 阅读全文
posted @ 2012-11-28 23:11 davidkam 阅读(1297) 评论(0) 推荐(0) 编辑
mysql 游标使用(转)
摘要:请使用 mysql 1.5 或以上version;测试表 level ;createtabletest.level(namevarchar(20));再 insert 些数据 ;View Code /*初始化*/ drop procedure if exists useCursor // /*建立 存储过程 create */ CREATE PROCEDURE useCursor() BEGIN /*局部变量的定义 declare*/ declare tmpName varchar(20) default '' ; declare a... 阅读全文
posted @ 2012-11-28 17:14 davidkam 阅读(196) 评论(0) 推荐(0) 编辑
MySQL登陆提示 IP被限制 SQL error :1045(转)
摘要:今天用登陆服务器的mysql 结果提示 这个提示表示不允许这个IP进行登陆 是mysql的IP限制问题 那么可以修改一下有两种方法:1. 添加一个新的用户并且授权和添加IP2.修改root的限制为任何用户首先进入mysql后指定数据库 [sql] view plaincopyprint?usemysql;selectuser,hostfromuser;--查看当前用户表信息[sql] view plaincopyprint?+------+---------------+|user|host|+------+---------------+|root|localhost|||root|127. 阅读全文
posted @ 2012-11-27 18:54 davidkam 阅读(904) 评论(0) 推荐(0) 编辑
MySQL临时表(转)
摘要:当你创建临时表的时候,你可以使用temporary关键字。如: create temporary table tmp_table(name varchar(10) not null,passwd char(6) not null)‘或 CREATE TEMPORARY TABLE IF NOT EXISTS sp_output_tmp ENGINE = MEMORY SELECT …from … where ID=current_id; 临时表只在当前连接可见,当这个连接关闭的时候,会自动drop。这就意味着你可以在两个不同的连接里使用相同的临时表名,并且相互不会冲突,或者使用 已经存在... 阅读全文
posted @ 2012-11-27 10:59 davidkam 阅读(223) 评论(0) 推荐(0) 编辑
MySQL数据库改名(转)
摘要:某项目中有需求要将数据库改个名字,从MySQL的参考手册中发现有rename database的SQL命令,兴冲冲的执行了mysql> rename database db1 to db2;ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use nr 'database db1 to db2' at line 1查了一下,发现这条命令 阅读全文
posted @ 2012-11-26 01:20 davidkam 阅读(3665) 评论(1) 推荐(0) 编辑
实测 Mysql UUID 性能(转)
摘要:网上普遍认为Mysql 使用 UUID 主键性能低下,甚至建议用 自增ID 作为主键并用 UUID作唯一索引的方案。但没有提供具体的数据证明使用 UUID 作为主键时性能究竟低下到何种程度。为此我专门做了测试。 测试环境:WindowsXP ,内存 4G , CPU : DuoT6570 , mysql : 5.1.36 测试准备:1、 建表我建了3 个表来做性能比对 表一:uuidtest_inno Sql代码 CREATETABLE`uuidtest_inno`(`id`char(36)CHARACTERSETutf8NOTNULLDEFAULT'',PRIMARYKEY( 阅读全文
posted @ 2012-11-26 00:54 davidkam 阅读(2023) 评论(0) 推荐(0) 编辑
mysql 语句case when(转)
摘要:表的创建CREATE TABLE `lee` (`id` int(10) NOT NULL AUTO_INCREMENT, `name` char(20) DEFAULT NULL, `birthday` datetime DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8数据插入:insert into lee(name,birthday) values ('sam','1990-01-01');insert into lee(name,birthday) values (& 阅读全文
posted @ 2012-11-25 21:09 davidkam 阅读(315) 评论(0) 推荐(0) 编辑
mysql now()函数调用系统时间不对修正方法
摘要:mysql now()函数调用系统时间不对修正方法进入mysql命令行查看时区设置:show variables like '%zone%';select @@time_zone;两者保持与系统时间一致,如果不一致进行如下修改:vi /etc/my.cnf定位到[mysqld]所在的位置,在它的下面加上default-time-zone = '+8:00'这一行,然后保存退出,重新启动 阅读全文
posted @ 2012-11-25 02:54 davidkam 阅读(3555) 评论(0) 推荐(0) 编辑
sql server和mysql变量赋值的区别 以及 MySql Declare(转)
摘要:sql server和mysql都是我们经常用到的数据库系统,下面就为您介绍sql server和mysql变量赋值的区别,希望对您能有所启迪。sql server中变量要先申明后赋值:局部变量用一个@标识,全局变量用两个@(常用的全局变量一般都是已经定义好的);申明局部变量语法:declare @变量名 数据类型;例如:declare @num int;赋值:有两种方法式(@num为变量名,value为值)set @num=value; 或 select @num=value;如果想获取查询语句中的一个字段值可以用select给变量赋值,如下:select @num=字段名 from 表名 阅读全文
posted @ 2012-11-24 11:04 davidkam 阅读(297) 评论(0) 推荐(0) 编辑
MySQL计划任务3(转)
摘要:DROP EVENT IF EXISTS eve1;DELIMITER $$CREATE EVENT eve1 ON SCHEDULE EVERY 1 SECOND STARTS NOW() ENDS NOW()+1ON COMPLETION PRESERVEDISABLEDOBEGINUPDATE testtable1 SET age = age+1 WHERE id = 1;END$$DELIMITER ;SELECT * FROM testtable1;SELECT NOW();/*标准创建语句EventsEventsCREATE EVENT 事件任务名称 ON SCHEDULE AT 阅读全文
posted @ 2012-11-24 01:31 davidkam 阅读(241) 评论(1) 推荐(0) 编辑
MySQL计划任务(转)
摘要:注意:5.1以后才支持!让MYSQL定期执行指定的一条命令。功能类似于crontab。<!--[if !supportLists]-->1、 <!--[endif]-->检查你的MYSQL是否开了这个功能SHOW VARIABLES LIKE 'event_scheduler';我执行了一遍发现记录为空说明我的MYSQL没有开呢。OK解决办法<!--[if !supportLists]-->2、 <!--[endif]-->打开你的MYSQL的计划任务功能使用这个功能之前必须确保event_scheduler已开启,可执行SET 阅读全文
posted @ 2012-11-24 00:44 davidkam 阅读(186) 评论(0) 推荐(0) 编辑

1 2 下一页