MySql
躬匠
这个作者很懒,什么都没留下…
展开
-
MySql学习系列 -- 索引基本概念了解
之前MySql架构文章中介绍了索引是在存储引擎层实现的,本篇将继续索引相关知识的了解,这里只是记录一些结论性的东西,并不会具体展开。1、索引是在存储引擎层实现,用来快速找到记录的一种数据结构;不同存储引擎对索引的实现是不一样的,而且不同的存储引擎可能支持不同的索引,如InnoDB支持聚簇索引,MyISAM支持全文索引和空间索引;索引数据很多也是用的B+Tree 结构存储的。2、索引是提高性能...原创 2019-01-02 13:37:23 · 717 阅读 · 0 评论 -
MySql学习系列 -- 数据库、数据类型设计注意点
本篇博文接着来学习数据库以及表设计过程中要注意的一些关键点1、表尽量使用InnoDB存储引擎(系统表有些默认是使用MyISAM、Memory存储引擎)2、建议混合使用范式和反范式设计数据库;范式化数据库的缺点是查询操作需要做关联,而且代价昂贵,还可能导致一些索引策略无效3、选择简单而且长度最小的数据类型可以减少磁盘以及内存的存储空间,还可以提升CPU的处理时间4、对于有些信息可以通...原创 2019-01-02 09:43:35 · 395 阅读 · 0 评论 -
MySql学习系列 -- MySql架构了解
背景虽然在日常项目开发中一直在使用MySql,但是对于MySql的很多细节东西知之甚微,如MySql的架构、执行计划树、存储引擎API。于是,拜读了MySql的经典书籍 -- 高性能MySql,本系列的很多知识点是借鉴该书籍并结合自己的理解总结而成。本人非DBA大牛,才疏学浅,难免会有纰漏错误,欢迎大家留言评论,共同学习交流。本系列的学习默认你有了一定的数据库基础,所以不是介绍什么是数...原创 2018-12-30 22:46:56 · 387 阅读 · 0 评论 -
Mysql学习系列 -- 查看/修改事务隔离级别
MySql默认的存储引擎是InnoDB,并且InnoDB是支持事务的。事务具有ACID四大特性,其中I就是隔离性。隔离有四个级别,MySql默认的事务隔离级别是'REPEATABLE-READ',也就是可重复读。OK,下面一起来看一下如何查看以及修改会话/全局隔离级别。1.查看当前会话隔离级别select @@tx_isolation2.查看系统当前隔离级别select @...原创 2018-11-29 13:21:08 · 732 阅读 · 0 评论 -
Mysql -- connect MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
背景:以如下方式连接本机的mysql服务mysql -h localhost -P 3306 -u root -p pwdERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)结果报了上面的错误,改为以下的方式解决问题。...原创 2018-08-24 19:17:19 · 4621 阅读 · 2 评论 -
Mysql学习系列 -- 数据库的备份与还原
一、数据库备份还原一个数据库:mysql -h localhost -u root -p123456 www备份一个数据库:mysqldump -h localhost -u root -p123456 www > d:\www2008-2-26.sql其中WWW为数据库名//以下是在程序中进行测试//$command = “mysqldump –opt -h $dbhost -u $dbu...原创 2018-06-08 00:05:22 · 3647 阅读 · 0 评论 -
MySql学习系列 -- 特殊配置项了解
背景类似于PHP、Apache、Nginx,MySql作为一个服务也依赖于具体的配置文件,并需要在启动时显示指定配置文件或者设置默认的配置文件。MySql的配置项很多,但我们实际需要关心的也就那么一点,保证基本的配置没问题就可以基本保证MySql的高性能。相信大家对于如何配置慢查询日志、binlog、pid文件、数据文件、socket等常见的已经有所了解,本文对这些常见的配置不再赘述,...原创 2019-01-03 09:43:47 · 338 阅读 · 0 评论 -
MySql学习系列 -- 常见优化方案
转载自:https://segmentfault.com/a/1190000006158186当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化,主要有单表优化、索引优化、查询优化、缓存等几大类。单表优化除非单表数据后来会一直上涨,否则不要考虑拆分,拆分会带来逻辑,部署,运维的各种复杂度.一般以整型值为主的表在千万级以下,字符型为主的表在500万以下是没...转载 2019-03-09 10:36:37 · 2177 阅读 · 0 评论 -
秒杀系统架构优化思路
转载于:https://www.cnblogs.com/xuwc/p/9139164.html一、秒杀业务为什么难做1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据;3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。例如:小米手机每周二的秒杀,可...转载 2019-03-03 10:35:07 · 1779 阅读 · 0 评论 -
MySql学习系列 -- 为何要使用自增int作为主键
相信大家都知道要使用无符号自增int作为主键的数据类型,可你知道为何要使自用增int而不是使用varchar、text、varchar等类型吗?大家也能说出一些优点:对上层业务透明,插入数据时无需显示指定;数据类型简单,更便于存储维护表结构其实,使用自增int作为主键好处多多,今天我们就来一起学习一下,并强烈建议大家在实际开发中使用自增int作为主键。 优点:1、int 相比v...原创 2019-01-02 23:03:34 · 5541 阅读 · 0 评论 -
MySql学习系列 -- 外键
上一篇博文中介绍到了,MySql的InnoDB存储引擎支持外键特性,那外键到底有什么作用以及项目中如何使用呢?今天我们就接着来学习一下。关于外键是什么,请阅读百度百科 外键一、作用1、约束父表、子表的操作,子表在进行写操作的时候,如果外键字段在父表中找不到对应的匹配,操作就会失败;对父表的主键字段进行删和改时,如果对应的主键在子表中被引用,操作就会失败。其中,在对父表、子表...原创 2019-01-02 09:15:29 · 276 阅读 · 0 评论 -
MySql学习系列 -- MyISAM、InnoDB两大存储引擎比较
上一篇博文中我们简单介绍了一下MySql的整体架构,今天我们再来详细了解一下存储引擎的相关知识。 概念了解1、数据的存取、索引、事务、锁都是在存储引擎一层实现的,但是表的定义统一是在MySql服务层处理的,都是.frm文件;2、存储引擎的设置粒度是到表级别,也就是说只能针对表设置存储引擎,而不能针对数据库进行设置。3、常见的有MyISAM、InnoDB、Memory存储引擎,对...原创 2019-01-02 08:44:23 · 332 阅读 · 0 评论 -
Mysql学习系列 -- 数据库冷热备份学习
一、 冷备份 冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将要害性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份是最快和最安全的方法。冷备份的优点是: 1、 是非常快速的备份方法(只需拷文件) 2、 轻易归档(简单拷贝即可) 3、 轻易恢复到某个时间点上(只需将文件再拷贝回去) 4、 能与归档方法相结合,做数据库...原创 2018-06-02 17:30:11 · 2885 阅读 · 0 评论 -
Mysql学习系列 -- 设置(修改)root密码
方法1: 用SET PASSWORD命令 首先登录MySQL。 格式:mysql> set password for 用户名@localhost = password(‘新密码’); 例子:mysql> set password for root@localhost = password(‘123’);方法2:用mysqladmin 格式:mysqladmin -u用户名 -p旧密码 ...原创 2018-06-12 12:31:34 · 285 阅读 · 0 评论 -
mysql日志详细解析
转自:http://pangge.blog.51cto.com/6013757/1319304MySQL日志:主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志;日志是mysql数据库的重要组成部分。日志文件中记录着mysql数据库运行期间发生的变化;也就是说用来记录mysql数据库的客户端连接状况、SQL语句的执行情况和错误信息等。当数据库遭到意外的损坏时,可转载 2016-10-19 15:28:01 · 490 阅读 · 0 评论 -
mysql参数永久设置
设置数据库系统参数有两种方式:一种是动态设置,即使用数据库登录账户和密码登录数据库服务(如果数据库服务重启的话设置失效),在SQL命令提示符下执行设置参数SQL命令,如设置开启定时任务命令为“set global event_scheduler =1; ” ;另一种是静态设置,即修改数据库配置文件文件(一次修改,在不重新修改的情况下永久有效 )如果修改开启定时任务,修改数据库配置文件my.cnf原创 2016-09-20 13:22:04 · 2555 阅读 · 0 评论 -
Windows定时任务+bat文件+WinRar处理Mysql数据库的定时自动备份
服务器环境 Windows Server 2003 ,服务器上采用的是IIS+mysql的集成工具phpStudy。MySQL的安装目录D:\phpStudy4IIS , WinRAR 安装目录 C:\Program\Files\WinRAR\WinRAR.exe 。备份数据存储的路径为 D:\数据备份,好了下面开始写DOS批处理命令了。代码如下:set "Ymd=%date:~,4%%d原创 2016-09-07 11:03:11 · 2607 阅读 · 0 评论 -
MySQL数据库管理工具Navicat与PhpMyAdmin功能对比
MySql也是一个典型的C/S架构的应用,而C可以有很多选择,例如各类语言API、Navicat for MySql、SQLyog、console以及Web形式的PhpMyAdmin,今天我们就来对比两款常见的MySQL数据库管理工具Navicat和phpMyAdmin功能方面的优势,帮助你正确选型。√”表示全部支持;“-”表示不支持; Navicat PhpMyAdmin...原创 2016-06-17 11:55:47 · 7750 阅读 · 0 评论 -
PHP MySQL server has gone away问题以及解决方案
首先列举一下出现上诉问题的地方: private $host="localhost:8080"; private $database="test"; private $username="root"; private $password="111111"; private $mysqli; public function __construct() {原创 2016-05-27 17:44:04 · 5087 阅读 · 0 评论 -
MySQL学习系列 -- 主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。因此,一般来说都是通过 主从复制(Master-Slave)的方式来同转载 2017-09-30 11:36:57 · 568 阅读 · 0 评论 -
Mysql学习系列 -- 表结构查看以及表结构修改
ALTER TABLE:添加,修改,删除表的列,约束等表的定义。查看列:desc 表名;修改表名:alter table t_book rename to bbb;添加列:alter table 表名 add column 列名 varchar(30);删除列:alter table 表名 drop column 列名;修改列名MySQL: alter table bbb change原创 2017-08-26 00:25:21 · 3122 阅读 · 1 评论 -
Mysql学习系列 -- 索引设计原则以及常见索引区别
索引定义:是一个单独的,存储在磁盘上的数据库结构,其包含着对数据表里所有记录的引用指针.数据库索引的设计原则:为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引。那么索引设计原则又是怎样的?1.选择唯一性索引唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。例如,学生表中学号是具有唯一性的字段。为该字段建立唯原创 2017-08-04 09:57:01 · 483 阅读 · 0 评论 -
Windows/Linux 下查看Apache、Mysql、PHP版本
做程序开发,我们免不了要知道开发环境下的Apache、Mysql、PHP版本,下面就三项在Windows和Linux下如何进行版本查看进行展开。1、Apache(1) Windows查看Apache版本:使用命令:httpd -v (2) Linux查看Apache版本:使用命令:apachectl -v 2、Mysql原创 2017-07-08 14:13:36 · 28146 阅读 · 0 评论 -
Navicat for Mysql 快捷键使用
Navicat for Mysql工具一直在使用,可几乎没怎么用过它的快捷键,今天把它总结一下方便以后使用。1.ctrl+q 打开查询窗口2.ctrl+/ 注释sql语句3.ctrl+shift +/ 解除注释4.ctrl+r 运行查询窗口的sql语句5.ctrl+shift+r 只运行选中的sql语句原创 2017-05-08 07:47:22 · 560 阅读 · 0 评论 -
PHP Mysql两组时间戳、日期转换函数
写过PHP+MySQL的程序员都知道有时间差,UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式,Unix时间戳存储、处理方便,但是不直观,格式化日期直观,但是处理起来不如Unix时间戳那么自如,所以有的时候需要互相转换,下面给出互相转换的几种转换方式。 一、在MySQL中完成 这种方式在MySQL查询语句中转换,优点是不占用PHP解析器的解析时间,速度快,缺点是只能原创 2017-05-24 20:52:15 · 1114 阅读 · 0 评论