mysql
zhang漫php
I will finding life the other half
展开
-
ip存储数据类型
$ip = '255.255.255.255';$ip = '24.23.24.253';//看看是否为一个合法的ipfunction ip($ip_address) { $ip = explode('.', $ip_address); foreach ($ip as $v) { if ($v > 255) { return FALSE; } } return TRUE翻译 2016-11-29 15:50:58 · 1555 阅读 · 1 评论 -
linux中yum安装mysql5.7
# 安装MySQL的yum源,下面是RHEL6系列的下载地址rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm# 安装yum-config-manageryum install yum-utils -y# 禁用MySQL5.6的源yum-config-manager --disable翻译 2017-01-26 19:50:42 · 1632 阅读 · 0 评论 -
sql性能分析器
查询是否开启性能分析器mysql> select @@profiling;+-------------+| @@profiling |+-------------+| 1 |+-------------+1 row in set (0.00 sec)开启性能分析器mysql> set global profiling=1;Query OK, 0 rows翻译 2017-02-17 08:07:16 · 430 阅读 · 0 评论 -
Mysql的读写分离
不管具体技术,从"读写分离"的概念出发来推导一下基本的要素 写数据/读数据的比例insert/update/delelte 20% /select 80%通俗的说:读服务器就是指写服务器的数据镜像从服务端看:要有N台从服务器和主服务器保持数据一致.从客户端看:比如有一条insert语句和一条select 语句,则要区分读/写语句,并且分别请求从/主服务器服务器端读写分离的具翻译 2017-02-07 14:01:47 · 266 阅读 · 0 评论 -
Mysql的分区与分表
为什么要进行分区和分表呢?当一张表的数据非常多的时候,比如单个.myd文件都达到10G, 这时,必然读取起来效率降低.可不可以把表的数据分开在几张表上? 可以的.什么是分表,从表面意思上看呢,就是把一张表分成N多个小表什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上1: 从业务角度可以解决.(分表)比如, 通过id%10 ,翻译 2017-02-07 10:02:21 · 361 阅读 · 0 评论 -
Mysql5.+忘记密码
# 最简单最粗暴的方法 找到mysql的配置文件直接编辑 vim /etc/my.cnf# 在 [mysqld] 中加上一行跳过权限限制skip-grant-tables# 保存退出 重启mysql服务service mysqld restart# 用户登录mysql -uroot -p (直接点击回车,密码为空)# 选择数据库 use mysql;# 但是在5.7版翻译 2017-01-26 20:20:13 · 413 阅读 · 0 评论 -
mysql的负载均衡
mysql的负载均衡一般用两种方法1.直接在PHP的mysql类做判断,最简单,不用额外加软件 比如discuz论坛2:用集群中间件比如官方的mysql_proxy还有国产的中间件 amoebamariadb(mysql的衍生版)的maxscale(兼容mysql)我这里用官方的mysql_proxywindows: http://ftp.ntu.edu.tw/pub/My翻译 2017-02-05 11:29:16 · 811 阅读 · 0 评论 -
mysql中的主从配置
1.在配置主从复制之前确保网络通畅,防火墙是否关闭…… 下面先编辑主服务器的配置文件 vim /etc/my.cnf [client] #客户的默认的字符集 default-character-set=utf8 [mysqld] datadir=/var/lib/mysql #本地通讯的文件翻译 2016-12-20 14:59:53 · 255 阅读 · 0 评论 -
mysql中的权限
1.你有没有权限链接上来 根据三个参数 host 你从来来 user 你是是谁 password 你的密码是 然而这三个信息储存在mysql库中的user表中 你也可以对这表进行curd操作 操作完成之后记住要刷新一下 flush privileges; 因为权限这张表是载入内存中的 常用的权限 all,create,drop,insert,delete,updat翻译 2016-11-14 18:31:14 · 229 阅读 · 0 评论 -
mysql中的储存
一.存储过程1.1概念类似于函数,就是把一段代码封装起来 当要执行这一段代码的时候可以通过调用该存储过程来实现在封装的语句体里面,可以用if/else, case,while等控制结构 sql编程1.2查看存储过程 show procedure status1.3调用存储过程 call 存储的名字()1.4删除存储过程 drop procedure 名字1.5创建存储过程的语法 定界符翻译 2016-11-14 13:43:05 · 251 阅读 · 0 评论 -
mysql中的触发器
一.mysql中的触发器(trigger)1.1 触发器的作用:监视某种情况并且可以触发某种操作 我们可以监视某张表的变化,当发生某种变化时,触发某个操作。1.2能监视的操作:增.删.改 触发操作:增,删,改1.3触发器的四要素:监视地点 监视事件 触发时间 触发事件1.4创建触发器的sql 声明一下定界符(de翻译 2016-11-13 11:14:15 · 295 阅读 · 0 评论 -
mysql中的索引
一.索引1.1索引是什么索引是指创建数据是的目录1.2索引的优点与缺点优点:是加速查询的速度缺点:降低了增删改的速度1.3创建索引的原则1.3.1不要过度的索引1.3.2在where条件最频繁的列上面加索引1.3.3尽量引用列中数据重复不高的地方,负责加上索引意义不大1.4索引的类型 索引还可以有长度比如 key翻译 2016-11-12 11:56:15 · 232 阅读 · 0 评论 -
mysql中的列的属性
一.大致分为三大类1.整形列(默认带符号)bigint 占了8个字节int 占了4个字节mediumint 占了3个字节smallint 占了2个字节tinyint 占了一个字节原创 2016-11-11 14:05:33 · 494 阅读 · 0 评论 -
mysql中from exists union where
#exists的效率一般比in高 小表用exists 大表用exists 如果两张表差不多大的时候效率基本上一样 但是not exists比not in 效率高SELECT * from category where cat_id in (SELECT cat_id FROM goods);SELECT * from category WHERE EXISTS (SELECT cat_id原创 2016-11-11 08:45:34 · 1069 阅读 · 0 评论 -
MyISAM与InnoDB的主要区别对比
MySQL存储引擎MyISAM与InnoDB的主要区别对比1.结构上的区别MyISAM 每个MyISAM在磁盘上存储成三个文件 .frm结尾的表的定义 .MYD结尾的数据库的文件扩展名 .MYI结尾的是索引文件InnoDB所有的表都保存在同一个数据文件中(原创 2016-11-09 15:47:24 · 414 阅读 · 0 评论 -
mysql中的小技巧
1. 索引碎片与维护在长期的数据更新过程中, 索引文件和数据文件,都将产生空洞,形成碎片我们可以通过一个nop操作(不产生对数据实质影响的操作), 来修改表。比如: 表的引擎为InnoDB , 可以 > alter table tableName engine InnoDB也可以 > optimize table tableName ,也可以修复同时注意: 修复表的数据及索引碎片,就翻译 2016-11-17 20:53:48 · 372 阅读 · 0 评论 -
mysql中数据优化
一. 分页优化 1. 问题:在使用limit做分页的时候,如果是特别多的数据,性能会大大受到影响使用 limit offset, N 获取分页数据、当offset非常大时,效率极低原因是mysql并不是跳过offset行,然后单取N行而是取offset+N行,然后丢弃前offset行,返回N行当offset越大,翻译 2016-11-17 20:56:30 · 306 阅读 · 0 评论 -
mysql中列的操作
一.翻译 2016-11-12 16:58:47 · 827 阅读 · 0 评论 -
mysql的主主复制
我们以前用到时的主从复制然而区别不同的是主从:备份的作用 服务器的地位是不一样的主主:备份作用+分担查询压力的作用 服务器的地位是一样的大致思路1:2台服务器都设置上2进制日志和relay日志2:都设置上replcation账号3:都设置对方为自己的master具体配置:两台配置一样唯一不同的是server-id1.找到mysql的配置文件编辑vim /etc/my.cnf翻译 2017-02-04 14:24:21 · 257 阅读 · 0 评论