mysql
文章平均质量分 66
「已注销」
一个在深圳创业的程序员,核心业务开发大规模即时通讯系统,电商系统。
展开
-
SQL查询缓存
适合读者 本教程适合于那些对缓存SQL查询以减少数据库连接与执行的负载、提高脚本性能感兴趣的PHP程序员。 概述 许多站点使用数据库作为站点数据存储的容器。数据库包含了产器信息、目录结构、文章或者留言本,有些数据很可能是完全静态的,这些将会从一个缓存系统中得到的极大好处。 这样一个系统通过把SQL查询的结果缓存到系统的一个文件中存储,从而阻止连接数据库,构造查询与取得返回结果而提高了原创 2009-10-10 14:51:00 · 463 阅读 · 0 评论 -
MYSQL和MS SQL SERVER对比分析表 [转]
目前最流行的两种后台数据库为MySQL and MS SQL Server, 下面列表说明它们两者之间的重要差别:原创 2009-10-21 19:28:00 · 899 阅读 · 0 评论 -
MSSQL转MYSQL,gb2312转utf-8
使用软件:MySQLMigrationTool 前提要安装JRE...才会出现下面的界面. 运行软件后,点NEXT进入以下界面: 选择MS SQL SERVER,按提示填写,Connection String为: jdbc:jtds:sqlserver://IP地址:端口(默认1433)/数据库名;user=用户名;password=密码;charset=gb2312;do原创 2009-10-21 20:40:00 · 1215 阅读 · 0 评论 -
mysql 排除重复记录 insert 使用INSERT IGNORE into
INSERT IGNORE 与INSERT INTO的区别 INSERT IGNORE 与INSERT INTO的区别就是INSERT IGNORE会忽略数据库中已经存在 的数据,如果数据库没有数据,就插入新的数据,如果有数据的话就跳过这条数据。这样就可以保留数据库中已经存在数据,达到在间隙中插入数据的目的。 eg: insert ignore into table(name)原创 2009-10-22 00:12:00 · 16801 阅读 · 2 评论 -
[转]mysql的日期和时间函数
mysql的日期和时间函数 这里是一个使用日期函数的例子。下面的查询选择所有 date_col 值在最后 30 天内的记录。 mysql> SELECT something FROM tbl_name WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) DAYOFWEEK(date) 返回 date 的星期索引(1 = Sund原创 2009-10-23 00:14:00 · 497 阅读 · 0 评论 -
MySQL select into 和 SQL select into
关于MySQL select into 和 SQLServer select into 一.MySQL不支持Select Into语句直接备份表结构和数据,由于工作中的需要在网上找到一种方法可以代替, 也有其它方法可以处理,总结如下: 方法1: MYSQL不支持: Select * Into new_table_name from old_原创 2009-10-23 00:16:00 · 651 阅读 · 0 评论 -
mysql 自动编号/自动增长字段清零.
ALTER TABLE `表` AUTO_INCREMENT =1原创 2009-10-24 08:39:00 · 2477 阅读 · 0 评论 -
[转]MySQL 5存储过程
MySQL 5.0 新特性教程是为需要了解5.0版本新特性的MySQL老用户而写的。简单的来说是介绍了“存储过程、触发器、视图、信息架构视图”,在此感谢译者陈朋奕的努力. 希望这本书能像内行专家那样与您进行对话,用简单的问题、例子让你学到需要的知识。为了达到这样的目的,我会从每一个细节开始慢慢的为大家建立概念,最后会给大家展示较大的实用例,在学习之前也许大家会认为这个用例很难,但是只要跟原创 2009-10-24 08:39:00 · 553 阅读 · 0 评论 -
[转]mysql临时表和内存表
由于直接使用临时表来创建中间表,其速度不如人意,因而就有了把临时表建成内存表的想法。但内存表和临时表的区别且并不熟悉,需要查找资料了。 一开始以为临时表是创建后存在,当连接断开时临时表就会被删除,即临时表是存在于磁盘上的。而实际操作中发现临时表创建后去目录下查看发现并没有发现对应的临时表文件(未断开链接).因而猜测临时表的数据和结构都是存放在内存中,而不是在磁盘中. 这样一原创 2009-10-24 08:44:00 · 914 阅读 · 0 评论 -
mysql替换数据库中的部分内容
例子:将cdb_pms表subject字段中的Welcom to替换成 欢迎光临 UPDATE `cdb_pms` SET `subject` = REPLACE(`subject`, ‘Welcome to’, ‘欢迎光临’) WHERE INSTR(`subject`,’Welcome to’) 替换cdb_posts表的message字段,将“viewthread.原创 2009-11-10 12:37:00 · 1762 阅读 · 1 评论 -
MySQL修改密码方法总结
首先要声明一点,大部分情况下,修改MySQL是需要有mysql里的root权限的, 所以一般用户无法更改密码,除非请求管理员。 方法一使用phpmyadmin,这是最简单的了,修改mysql库的user表, 不过别忘了使用PASSWORD函数。 方法二使用mysqladmin,这是前面声明的一个特例。 mysqladmin -u root -p password mypasswd 输入这个原创 2009-11-25 18:49:00 · 404 阅读 · 0 评论 -
MyISAM和InnoDB的一些记录
key_buffer_size - 这对MyISAM表来说非常重要。如果只是使用MyISAM表,可以把它设置为可用内存的 30-40%。合理的值取决于索引大小、数据量以及负载。 记住,MyISAM表会使用操作系统的缓存来缓存数据,因此需要留出部分内存给它们,很多情况下数据比索引大多了。尽管如此,需要总是检查是否所有的 key_buffer 都被利用了。 .MYI 文件只有 1GB,而 key_原创 2009-11-25 18:50:00 · 520 阅读 · 0 评论 -
mysql数据库自动定期备份的脚本
说明: 保留每天备份的数据是件不太现实的事,做好的做法是保留前三天的 备份数据。把备份的数据打包并压缩,文件名以系统时间命名,打包后的 备份文件放在一个特定的文件夹下面,实际上,只要是以时间命名备份文件, ls 命令后,文件将自动按时间排序的,这样就可以方便的删除三天以前的备份文件,于是 就保证了服务器上每天都保留着最近三天的数据库备份 #/usr/bin/dbb原创 2009-12-03 11:01:00 · 592 阅读 · 0 评论 -
解决ubuntu下mysql不能远程连接数据库的问题
<br />Ubuntu10.04上自带的MySQL,执行了<br />root@ubuntu:~#sudo apt-get install mysql<br />安装完mysql-server<br />启动mysql<br />root@ubuntu:~#/etc/init.d/mysql start<br />本地可以连接进入数据库。<br />root@ubuntu:~#mysql -uroot -p<br />设置了远程访问权限:<br />mysql> grant all PRIVILEGES转载 2010-12-22 21:37:00 · 1846 阅读 · 0 评论 -
mysql实现2个表的字段同步.
<br />网络上找的帖子如下:<br />在MySQL里,不可以修改同一个表并使用SELECT语句.详情查看http://dev.mysql.com/doc/mysql/en/UPDATE.html<br />可以选用JOIN来实现,例证如下<br />用SELECT的原语句:<br />update spms.user <br />set DirectReport=(select DirectReport from spms.user where UserName='%s') <br />where U原创 2011-05-19 21:25:00 · 2948 阅读 · 0 评论 -
mysql 修改密码设置权限笔记.
<br />insert into mysql.user('%','yjzq',password('密码'));<br />grant all privileges on *.* to 账号@localhost identified by ‘密码′;原创 2011-06-01 18:57:00 · 804 阅读 · 0 评论 -
解决MySql Error Code: 2006 – MySQL 服务器已离线 错误
再用SQLYog进行10w用户数据sql导入的时候,出错,后查看日志找到错误代码为:MySQL 服务器已离线后经过google发现时mysql设置的问题.这个问题是因为MySql的默认max_allowed_packet过小所致,修改大一些即可max_allowed_packet = 100M另外,可以增加一下两个参数,来扩大相应时间interactive_原创 2012-12-29 10:29:40 · 7807 阅读 · 0 评论 -
mysql导入导出*.sql命令
一) 连接MYSQL: 格式: mysql -h主机地址 -u用户名 -p用户密码 1、例1:连接到本机上的MYSQL 首先在打开DOS窗口,然后进入mysql安装目录下的bin目录下,例如: D:/mysql/bin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到原创 2009-10-12 14:52:00 · 544 阅读 · 0 评论 -
[转]mysql锁表,修改表结构
7.3 锁 7.3.1 锁机制 当前MySQL已经支持 ISAM, MyISAM, MEMORY (HEAP) 类型表的表级锁了,BDB 表支持页级锁,InnoDB 表支持行级锁。 很多时候,可以通过经验来猜测什么样的锁对应用程序更合适,不过通常很难说一个锁比别的更好,这全都要依据应用程序来决定,不同的地方可能需要不同的锁。 想要决定是否需要采用一个支持行级锁的存储引擎,就要看看应用原创 2009-10-12 14:46:00 · 1901 阅读 · 0 评论 -
MySQL表锁死实例之一(uid字段没建立索引)
Mysql用户表uid字段没有建立索引,当有大的并发update 一张表20w记录时候 出现锁表.建立好索引之后问题解决.原创 2009-10-13 11:18:00 · 1355 阅读 · 0 评论 -
Mysql 中 show full processlist
processlist命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句,两种方式使用这个命令。 1. 进入mysql/bin目录下输入mysqladmin processlist; 2. 启动mysql,输入show processlist; 如果有 SUPER 权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户运行的线原创 2009-10-12 14:43:00 · 4457 阅读 · 0 评论 -
对mysql数据库设计时,应注意哪些问题
1. 分号的例外 对于 MySQL ,第一件你必须牢记的是它的每一行命令都是用分号 (;) 作为结束的,但……没有完全绝对的事,在这儿也是一样,当一行 MySQL 被插入在 PHP 代码中时,最好把后面的分号省略掉,例如: mysql_query ("INSERT INTO tablename (first_name, last_name) VALUES ($first_原创 2009-10-10 14:00:00 · 943 阅读 · 0 评论 -
MYSQL中delete删除多表数据
1、delete from t1 where 条件 2、delete t1 from t1 where 条件 3、delete t1 from t1,t2 where 条件 4、delete t1,t2 from t1,t2 where 条件 前3者是可行的,第4者不可行。 也就是简单用delete语句无法进行多表删除数据操作,不过可以建立级联删除,在两个表原创 2009-10-11 10:23:00 · 484 阅读 · 0 评论 -
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
关于MySQL select into 和 SQLServer select into 一.MySQL不支持Select Into语句直接备份表结构和数据,由于工作中的需要在网上找到一种方法可以代替, 也有其它方法可以处理,总结如下: 方法1: MYSQL不支持: Select * Into new_table_name from old_table_原创 2009-10-11 11:35:00 · 609 阅读 · 0 评论 -
[转]Mysql锁定表/解锁句法
LOCK TABLES/UNLOCK TABLES 句法 LOCK TABLES tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE} [, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE} ...]...UNLOCK TABLESLOCK T原创 2009-10-12 14:54:00 · 901 阅读 · 0 评论 -
分析数据库死锁原因的方法
常看到死锁的问题,一般都是KILL进程,但如果不查出引起死锁的原因,死锁会时常发生可以通过查找引起死锁的的操作,就可以方便的解决死锁,现将日常解决问题的方法总结,也许对大家有帮助 1死锁发生时,通过如下语法,查询出引起死锁的操作 use master go declare @spid int,@bl int DECLARE s_cur CURSOR FOR原创 2009-10-12 16:03:00 · 374 阅读 · 0 评论 -
浅析如何定位,排除和避免MySQL性能故障
首先是如何检查SQL的效率. 1.善用explain: 设计SQL后,应使用explain命令检查SQL,看是否使用到索引,是否存在filesort,重点检查检索的行数(rows)是否太大。 一般来说. rows rows在1000~1w之间,在密集访问时可能导致性能问题,但如果不是太频繁的访问(频率低于1分钟一次),又难再优化的话,可以接受,但需要注意观察 rows大于1原创 2009-10-12 16:26:00 · 478 阅读 · 0 评论 -
[转]MySQL中kill僵死进程的脚本
网络转贴: QUOTE: MySQL + PHP的模式在大并发压力下经常会导致MySQL中存在大量僵死进程,导致服务挂死。为了自动干掉这些进程,弄了个脚本,放在服务器后台通过crontab自动执行。发现这样做了以后,的确很好的缓解了这个问题。把这个脚本发出来和大家Share. 根据自己的实际需要,做了一些修改: SHELL脚本:mysqld_kill_sleep.sh #!/bin/原创 2009-10-12 16:29:00 · 1633 阅读 · 1 评论 -
[转]mysql中kill掉所有锁表的进程
转载请保留如下作者信息 作者 : jesse 博客 : http://hi.baidu.com/leechl 3点钟刚睡下, 4点多, 同事打电话告诉我用户数据库挂掉了. 我起床看一下进程列表. mysql>show processlist; 出来哗啦啦好几屏幕的, 没有一千也有几百条, 查询语句把表锁住了, 赶紧找出第一个Locked的thread_id, 在mysql的原创 2009-10-12 15:55:00 · 1800 阅读 · 0 评论 -
mysql锁和死锁
以下是一些总结.引用了一些网络上的经验 MyISAM和MEMORY存储引擎采用的是表级锁table-level locking BDB存储引擎采用的是页面锁page-level locking,但也支持表级锁 InnoDB存储引擎既支持行级锁row-level locking,也支持表级锁,但默认情况下是采用行级锁 表级锁 开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲原创 2009-10-12 15:57:00 · 459 阅读 · 0 评论 -
MySQL死锁分析
下面是mysql中出现的死锁情况,其中的中文是我加的注释 mysql> show innodb status/G *************************** 1. row *************************** Status: ===================================== 060728 13:08原创 2009-10-12 16:15:00 · 1000 阅读 · 0 评论 -
利用PHP小程序清除Mysql死连接技巧
最近几天,学校的MySQL数据库总是出现许多死连接的情况,主要表现为有过多的Sleep连接,并且Time时间很长,占满了所有的可用连接数,以至于其它用户无法再连接数据库。我开始考虑调节MySQL数据库参数,但是改了许多参数仍然没有解决这个问题。于是想了一个比较狠的办法,写一个php脚本,每2分钟执行一次,发现死连接(超过120秒)就Kill掉,这样再也不会让某些程序搞死数据库服务器了,下面是 Ki原创 2009-10-12 19:00:00 · 660 阅读 · 0 评论 -
MySQL锁表研究
杨涛在他的blog中关于MySQL锁表机制的简单总结,列举了各种MySQL锁表的可能。 1、对于MySQL来说,有三种锁的级别:页级、表级、行级。 页级的典型代表引擎为BDB。 表级的典型代表引擎为MyISAM,MEMORY以及很久以前的ISAM。 行级的典型代表引擎为INNODB。 2、我们实际应用中用的最多的就是行锁。 行级锁的优点如下: 1)、当很多连接原创 2009-10-12 14:56:00 · 690 阅读 · 0 评论 -
巧用MySQL InnoDB引擎锁机制解决死锁问题
案例如下: 在使用Show innodb status检查引擎状态时,发现了死锁问题: *** (1) TRANSACTION: TRANSACTION 0 677833455, ACTIVE 0 sec, process no 11393, OS thread id 278546 starting index read mysql tables in use 1, locked 1 L原创 2009-10-12 16:10:00 · 732 阅读 · 0 评论 -
C#杀死数据库死链接
先连进MYSQL 下show processlist的查询可查出 processID 在把他杀掉 C#代码: using System.Data.Odbc; using System.Data; static public int KillSleepingConnections(int iMinSecondsToExpire) { string strSQL原创 2009-10-12 19:04:00 · 644 阅读 · 0 评论 -
CentOS下MySQL/MariaDB表名大小写敏感设置
问题描述:Hibernate项目提示表不存在,查看数据库发现表是存在的,只是大小写不一样。问题分析:由于MariaDB/MySQL 默认对表名大小写敏感,导致问题产生。解决方案:修改mysql配置sudo vi /etc/my.cnf在my.cnf文件中追加以下内容lower_case_table_names=10:大小写敏感;1:大小写不敏感)...原创 2019-03-30 02:51:00 · 1248 阅读 · 0 评论