Mysql
文章平均质量分 58
IT界鸟叔
这个作者很懒,什么都没留下…
展开
-
Mysql数据库 转换成SQLite 数据库(.db)
需要先安装工具:Navicat Premium (支持MySQL、Oracle、PostgreSQL、SQLite 及 SQL Serve 的数据库管理工具)第一步:先把mysql导出成txt文件记住“包含列表的标题” 复选框要勾选, 否则生成的txt没有键。第二步:打开 Navicate Premium ,新建SQLite 连接这里的数据库文件是用来存储数据的文件原创 2015-11-06 10:42:20 · 26726 阅读 · 6 评论 -
Mysql统计昨日今日本月本周数据
一、SQL示例1、统计本周数据SELECT COUNT(*) FROM system_log WHERE WEEK(FROM_UNIXTIME(update_time))=WEEK(NOW())2、统计本月数据SELECT COUNT(*) FROM system_log WHERE MONTHNAME(FROM_UNIXTIME(update_time))=MONTH原创 2016-01-11 11:36:44 · 5779 阅读 · 0 评论 -
MySQL大量数据插入各种方法性能分析与比较
不管是日常业务数据处理中,还是数据库的导入导出,都可能遇到需要处理大量数据的插入。插入的方式和数据库引擎都会对插入速度造成影响,这篇文章旨在从理论和实践上对各种方法进行分析和比较,方便以后应用中插入方法的选择。插入分析MySQL中插入一个记录需要的时间由下列因素组成,其中的数字表示大约比例:连接:(3)发送查询给服务器:(2)分析查询:(2)插入记录:(1x记录大小)插入索引:转载 2016-02-24 11:23:34 · 2688 阅读 · 0 评论 -
mysql处理高并发,防止库存超卖
问题描述:一般电子商务网站都会遇到如团购、秒杀、特价之类的活动,而这样的活动有一个共同的特点就是访问量激增、上千甚至上万人抢购一个商品。然而,作为活动商品,库存肯定是很有限的,如何控制库存不让出现超买,以防止造成不必要的损失是众多电子商务网站程序员头疼的问题,这同时也是最基本的问题。从技术方面剖析,很多人肯定会想到事务,但是事务是控制库存超卖的必要条件,但不是充分必要条件。举例:转载 2016-04-01 17:41:35 · 641 阅读 · 0 评论 -
Linux 实现自动备份mysql
原理:利用Linux的cron进程(用于定时执行任务)来定时调用mysql的备份工具mysqldump 实现自动备份。cron需要用crontab工具来管理。一、检查linux中是否有安装crontab:输入 crontab -l :如果显示 command not found 说明没有装crontab ,那么用yum安装crontab: yum install原创 2016-03-23 14:40:12 · 718 阅读 · 0 评论 -
Linux 环境下添加mysql用户、修改用户权限
一、创建用户mysql> create user 'kuke'@'localhost' identified by 'root';说明:kuke – 你将创建的用户名, localhost – 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如 果想让该用户可以从任意远程主机登陆,可以使用通配符%.root – 该用户的登陆密码,密码可以为空,如原创 2015-12-10 16:12:25 · 3904 阅读 · 0 评论 -
Mysql数据库备份与恢复(一)-逻辑备份与还原
逻辑备份实际上就是把数据导出为sql语句,优点是对于任何存储引擎(Myisam或innodb)都可用。一、备份mysqldump [options] db_name [options]备份test数据库中的documents 到指定的文件d:\documentss.sqlD:\>xampp\mysql\bin\mysqldump -uroot -p test docu原创 2016-02-03 15:48:35 · 886 阅读 · 0 评论 -
Mysql 事务的四种隔离级别介绍
1、未提交读(READ UNCOMMITTED)事务中的修改,即使没有提交,对于其他事务来说也是可见的。也就是说事务可以读取未提交的数据,也就是脏读(Dirty Read).这是最低的隔离级别,实际的应用中一般不用这种隔离级别。下面来模拟看下效果:Session 1 :mysql> show variables like '%isolation%'; 【1】+-----原创 2016-12-24 14:39:47 · 1048 阅读 · 0 评论 -
通过MySQL慢查询日志定位执行效率低的SQL语句
利用命令: show variables like'%query%'; 查看是否开启慢查询日志slow_query_log : on表示开启,off表示关闭long_query_time : 单位秒,如果查询超过此处设定的秒数,则会被写入到慢查询日志中slow_query_log_file : 慢查询日志的目录如果为关闭状态,在my.ini末尾加入sl原创 2015-12-01 16:24:33 · 1169 阅读 · 0 评论 -
插入mysql时重复数据处理方法
一般我们做数据插入数据库时会先查找是否已经存在,如果不存在再执行插入,但如果数据量大的话,这样做的效率很低,建议用以下三种方式来替代方法一、version_name建立唯一(UNIQUE)索引,INSERT INTO VERSION(version_name) VALUES('苏教版') ON DUPLICATE KEY UPDATE course_id=4,id=原创 2015-11-20 17:42:26 · 472 阅读 · 0 评论 -
Mysql 数据库查询优化之索引
索引的原理参考:http://blog.csdn.net/iefreer/article/details/15815455索引的分类:normal:表示普通索引unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为uniquefull textl: 表示 全文搜索的索引。 FULLTEXT 用于搜索很长一篇文章的时候,效果最好原创 2014-07-24 13:04:03 · 568 阅读 · 0 评论 -
Linux环境下忘记mysql密码处理方法
1. 打开/etc/my.cnf mysql配置文件,在[mysqld]下添加一行skip-grant-tables,即可在登录mysql时不用密码验证不同的linux版本my.cnf的路径不同个,可先用 find / -name my.cnf 命令查找2. 重启mysql服务,执行service mysqld restart3. 执行mysql -uroot原创 2015-12-09 09:53:57 · 469 阅读 · 0 评论 -
Mysql 数据库之存储引擎(MyISAM和InnoDB)
MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种。这里介绍关于这两种引擎的一些基本概念(非深入介绍)。MyISAM是MySQL的默认存储引擎,基于传统的ISAM类型,支持全文搜索,但不是事务安全的,而且不支持外键。每张MyISAM表存放在三个文件中:frm 文件存放表格定义;数据文件是MYD (MYData);索引文件是MYI (MYIndex)。InnoDB是事务型引转载 2015-11-24 13:58:06 · 339 阅读 · 0 评论 -
MySQL: 1006 - Can't create database '***' (errno: 13) 错误 解决方法
如果使用root账号登录到数据库create database时提错错误:MySQL: 1006 - Can't create database '***' (errno: 13) 或MySQL: 1006 - Can't create database '***' (errno: 28),一般是mysql用户没有目录权限的问题。先用linux指令 : ls -ld 查看d原创 2015-12-11 09:22:31 · 19334 阅读 · 0 评论 -
MySQL数据库优化之查询缓存(Query cache)
MySQL缓存机制:当MySQL开启了缓存模式(query_cache_type=1)后,mysql会把查询语句和查询结果保存在一张hash表中,下一次用同样的sql语句查询时,mysql会先从这张hash表中获取数据,如果缓存没有命中,则解析sql语句,查询数据库。如果查询中有不确定数据,例如CURRENT_DATE()和NOW()函数,那么查询完毕后则不会被缓存.所以,包含不确定数原创 2015-11-27 15:02:20 · 3042 阅读 · 0 评论 -
Mysql 日志
一、错误日志错误日志记录了当mysql启动和停止时,以及服务器运行过程中发生任何严重错误时的相关信息。当数据库发生任何故障导致无法使用时,建议首先查看错误日志。错误日志的保存路径由配置文件my.ini 中的参数 log_error 指定,如果log_error没有指定,则默认使用 host_name.err(host_name为主机名)为文件名并保存在参数datadir指定的目录下原创 2015-12-30 22:43:02 · 386 阅读 · 0 评论 -
从10w条记录随机取出n条记录高效率解决方案
在从大量数据中随机取出n条记录应避免使用order by rand() ,否则效率会非常低个人觉得简单又高效的方案:第一步:取出所有数据放在数组中$data第二步:打乱数组排序 shuffle($data)第三步 : 取出前n个值 :array_slice ($data,0,n)原创 2015-12-18 10:27:56 · 842 阅读 · 0 评论 -
关于Mysql的事务和锁 看这一篇文章就够了
锁共享读锁(S锁)和 排他写锁(X锁)行锁与表锁innodb用的是行级锁,相对于表锁来说性能开销会更大。虽然叫做行级锁,但不表示他只锁住修改的行记录,即使找不到行记录,他也会产生锁。innodb 是根据扫描范围来锁定行记录,如果有索引,那么只会锁定索引的覆盖范围,如果找不到索引,就会扫描全表,那么行级锁就会升级为表级锁。做个测试:CREATE TABLE `user` ( `id` int(10...原创 2018-05-27 12:21:20 · 762 阅读 · 1 评论