随笔分类 - 数据库Mysql
mysql一些基本操作,技巧及优化。主从数据库,读写分离。
摘要:mysql配置文件my.cnf详解[部分]basedir = path使用给定目录作为根目录(安装目录)。character-sets-dir = path给出存放着字符集的目录。datadir = path从给定目录读取数据库文件。pid-file = filename为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/Linux系统); Init-V脚本需要使用这个文件里的进程ID结束mysqld进程。socket = filename为MySQL客户程序与服务器之间的本地通信指定一个套接字文件(仅适用于UNIX/Linux系统; 默认设置一般是/var/lib/mysql/m
阅读全文
摘要:一个简单完整的 Mysql 主从复制,读写分离的示意图。1. 首先搭建 Mysql 主从架构,实现 将 mater 数据自动复制到 slaveMySQL 复制的工作方式很简单,一台服务器作为主机,一台或多台服务器作为从机。主机会把数据库的变化记录到日志。一旦这些变化被记录到日志,就会立刻(或者以设定的时间间隔)被送到从机。使用MySQL 复制提供扩展大型网站的能力,这些大型网站的数据库主要是读操作(SELECTs)。从机用於复制主机的銷秏是很少的(通常每个从机1%的开销),在大型网站中每个主机部署30 个从机也是常见的。异步复制与同步复制异步复制:MySQL本身支持单向的、异步的复制。异步复制
阅读全文
摘要:使用整数数据的精确数字数据类型。bigint从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为8个字节。int从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为4个字节。int 的 SQL-92 同义字为 integer。smallint从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为2个字节。tinyint从 0 到 255 的整型数据。存储大小为1
阅读全文
摘要:今天罗浮宫群的一个同学问了个成绩单的问题。以前我也遇到过,当时记得费了好大劲。现在正好回味一番。数据库结构如下。数据插入语句如下。CREATE TABLE IF NOT EXISTS `chengji` ( `goods_id` int(5) NOT NULL, `user_id` int(5) NOT NULL, `point` int(5) NOT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1;---- 转存表中的数据 `chengji`--INSERT INTO `chengji` (`goods_id`, `user_id`, `point...
阅读全文
摘要:MySQL5.5以后默认使用InnoDB存储引擎,其中InnoDB和BDB提供事务安全表,其它存储引擎都是非事务安全表。若要修改默认引擎,可以修改配置文件中的default-storage-engine。可以通过:show variables like 'default_storage_engine';查看当前数据库到默认引擎。命令:show engines和show variables like 'have%'可以列出当前数据库所支持到引擎。其中Value显示为disabled的记录表示数据库支持此引擎,而在数据库启动时被禁用。在MySQL5.1以后,INFO
阅读全文
摘要:1.存储过程简介我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数...
阅读全文
摘要:函数:FROM_UNIXTIME作用:将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示。语法:FROM_UNIXTIME(unix_timestamp,format)返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。根据format字符串格式化date值。下列修饰符可以被用在format字符串中:%M 月名字(January……December)%W 星期名字(Sunday……Saturday)%D 有英语前缀的月份的日期(1st, 2nd, 3rd
阅读全文
摘要:一般的数据库只要支持REPLACE、SUBSTR(或者EXCEL的LETT、RIGHT、MID)基本上就够用了,不过MYSQL的字符串函数确实非常丰富(其实MYSQL的日期处理函数也很丰富),有下面这些:ASCII(str)返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。ORD(str)如果字符串str最左面字符是一个多字节字符,通过以格式((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...]返回字符的ASCII代
阅读全文
摘要:ENUM类型ENUM是一个字符串对象,其值通常选自一个允许值列表中,该列表在表创建时的列规格说明中被明确地列举。在下列某些情况下,值也可以是空串("") 或NULL:如果将一个无效值插入一个ENUM(即,一个不在允许值列表中的字符串),空字符串将作为一个特殊的错误值被插入。事实上,这个字符串有别于一个"普通的"空字符串,因为这个字符串有个数字索引值为 0。稍后有更详细描述。如果一个ENUM被声明为NULL,NULL也是该列的一个合法值,并且该列的缺省值也将为NULL。如果一个ENUM被声明为NOT NULL,该列的缺省值将是该列表所允许值的第一个成员。每
阅读全文
摘要:概述optimize英文意思为“优化”,这个指令主要作用是表中的数据删除后的自增字段是不能使用的,用这个指令优化后,就可以使用了。同时这个指令可以对表中的数据碎片进行整理,建议一周或者一个月执行一次。举例1,查看优化前表索引情况show index from `pre_forum_post`2,执行optimize指令优化optimize table `pre_forum_post`3,优化后表索引情况可以看到索引被重置,很多很大的索引变小了,由于目前这个表是我测试前已经优化过的,看起来索引变化不是很明显。4,注意:optimize指令是锁表执行的,所以不建议在业务高峰期执行操作,如果表很大的
阅读全文
摘要://dml 数据控制语句 insert delete update //ddl 数据定义语言 create alter drop truncate //select //dcl 权限管理语言 grant revoke
阅读全文
摘要:当执行delete、update或insert操作时,可以使用触发器来触发某些操作。创建触发器:CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_nameFOR EACH ROW trigger_stmt其中 trigger_name是触发器名,trigger_time:BEFORE,AFTERtrigger_event:INSERT、UPDATE、DELETEtbl_name:关联的表名注意,INSERT除了插入操作,load data也能激活该事件。对于同一trigger_event,不能有两个相同trigger_.
阅读全文
浙公网安备 33010602011771号