Mysql基础知识
文章平均质量分 76
小藤椅
还好还好
展开
-
MySQL安装指南
安装MySQLsudo apt-get install mysql-server这个应该很简单了,而且我觉得大家在安装方面也没什么太大问题,所以也就不多说了,下面我们来讲讲配置。配置MySQL注意,在Ubuntu下MySQL缺省是只允许本地访问的,如果你要其他机器也能够访问的话,那么需要改变/etc/mysql/my.转载 2011-11-28 18:08:52 · 408 阅读 · 0 评论 -
MySQL的Join使用
在MySQL(以5.1为例)中,表连接的语法可以参见MySQL官方手册:MySQL官方手册-JOIN在查询中,连接的语法类似[sql] view plaincopySELECT select_expr FROM table_references table_references(对表的引用)的定义如下(也可以看成连接转载 2014-02-12 01:53:59 · 689 阅读 · 0 评论 -
mysql的tmp_table_size和max_heap_table_size
先说下tmp_table_size吧:它规定了内部内存临时表的最大值,每个线程都要分配。(实际起限制作用的是tmp_table_size和max_heap_table_size的最小值。)如果内存临时表超出了限制,MySQL就会自动地把它转化为基于磁盘的MyISAM表,存储在指定的tmpdir目录下,默认:mysql> show variables like "tmpdir";转载 2014-02-12 00:24:59 · 2055 阅读 · 0 评论 -
mysql The server quit without updating PID file异常解决办法
项目中的用户角色不知道为什么无缘无故甘丢失了,所以就决定更改一下数据库密码,但好不幸更改后,重启时报出这个异常, Java代码 Starting MySQL..The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid 于是去查看mysql日志(在转载 2014-01-12 17:51:59 · 815 阅读 · 0 评论 -
mysql5.5 启动报错:File './mysql-bin.index' not found (Errcode: 13)
初始化玩数据库之后,使用mysqld_safe启动mysql数据库,如下发现,启动失败[root@SVNServer bin]# ./mysqld_safe --user=mysql&[1] 20539[root@SVNServer bin]# 110806 00:32:19 mysqld_safe Logging to '/usr/local/mysql5.5/data/SVNS转载 2014-01-10 21:21:22 · 1319 阅读 · 0 评论 -
my_print_defaults: command not found
重启mysql服务报如下错误mysql版本5.5.8:# /etc/init.d/mysqld restart/etc/init.d/mysqld: line 256: my_print_defaults: command not found/etc/init.d/mysqld: line 256: my_print_defaults: command not foundMy转载 2014-01-10 21:20:27 · 30031 阅读 · 0 评论 -
mysql配置文件读取顺序
On Unix, Linux and Mac OS X, MySQL programs read startup options from the following files, in the specified order (top items are used first).File NamePurpose/etc/my.cnf转载 2014-01-06 00:25:58 · 1401 阅读 · 0 评论 -
mysql权限授予与收回
MySQL的权限系统围绕着两个概念:认证->确定用户是否允许连接数据库服务器授权->确定用户是否拥有足够的权限执行查询请求等。如果认证不成功的话,哪么授权肯定是无法进行的。revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 表 GRANT和REVOKE管理的权限权限 描述 ALL PRIVILEG转载 2014-01-05 16:45:24 · 1008 阅读 · 0 评论 -
Linux下安装MySQL
安装环境:Linux服务器CentOS 5.5安装版本:mysql-5.5.8.tar.gz1、安装 cmake 编译器。1)、下载cmake#cd /usr/local/src#wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz2)、解压cmake#tar -zvxf cmake-转载 2013-12-04 01:56:27 · 672 阅读 · 0 评论 -
MYSQL中 ENUM 类型
MYSQL中 ENUM 类型的详细解释ENUM类型ENUM 是一个字符串对象,其值通常选自一个允许值列表中,该列表在表创建时的列规格说明中被明确地列举。在下列某些情况下,值也可以是空串("") 或 NULL:如果将一个无效值插入一个 ENUM (即,一个不在允许值列表中的字符串),空字符串将作为一个特殊的错误值被插入。事实上,这个字符串有别于一个"普通的"空字符串,转载 2014-02-12 01:32:55 · 2486 阅读 · 0 评论 -
MySQL自定义排序函数FIELD()
MySQL可以通过field()函数自定义排序,格式:field(value,str1,str2,str3,str4),value与str1、str2、str3、str4比较,返回1、2、3、4,如遇到null或者不在列表中的数据则返回0. 这个函数好像Oracle中没有专门提供(也可能是我没有用到),不过自己实现这样一个函数还是比较简单的。mysql> select * from drive转载 2014-02-12 19:58:40 · 802 阅读 · 0 评论 -
详解Mysql中InnoDB和MyISAM两种表类型的区别1
众所周知,InnoDB和MyISAM是mysql中最常用的两种表的类型,MyISAM是默认的类型。它们的区别很多,主要是侧重点不同,InnoDB支持一些高级处理,而MyISAM强调性能,当然强调性能的同时就要牺牲一些东西了。 现在对比一下统计行数的语句(select count(*)|(1)|(Primary Key)),在Mysql中新建两个表,分别是MyISAM和InnoDB类型的:转载 2014-02-18 00:31:42 · 1042 阅读 · 0 评论 -
Mysql的row_format
在mysql中, 若一张表里面不存在varchar、text以及其变形、blob以及其变形的字段的话,那么张这个表其实也叫静态表,即该表的row_format是fixed,就是说每条记录所占用的字节一样。其优点读取快,缺点浪费额外一部分空间。若一张表里面存在varchar、text以及其变形、blob以及其变形的字段的话,那么张这个表其实也叫动态表,即该表的row_format是dynam转载 2014-02-18 00:23:57 · 914 阅读 · 0 评论 -
InnoDBd的auto_increment以及innodb_autoinc_lock_mode
InnoDB的auto_increment,类似oracle的sequence,可以自动增长,通常用于主键;auto_increment必须为索引列,其值一旦分配就不能随着相应sql的回滚而回退; 当InnoDB表创建auto_increment列时,其数据字典会分配一个auto-increment计数器,在内存中操作维护;第一次向表插入数据时,InnoDB会执行如下语句查看列当前转载 2014-02-18 00:15:29 · 1382 阅读 · 0 评论 -
InnoDB表与索引结构相关知识整理
MySQL把表的数据词典信息以.frm文件的形式存在数据库目录里,所有MySQL存储引擎都是这样的。但是每个InnoDB表在表空间内的InnoDB内部数据词典里也有它自己的条目。当MySQL移除表或数据库,它不得不删除.frm文件和InnoDB数据词典内的相应条目。这就是为什么你不能在数据库之间简单地移动.frm文件来移动InnoDB表。1. 聚集索引和第二索引每个InnoDB有一转载 2014-02-18 00:12:28 · 691 阅读 · 0 评论 -
mysql "ON DUPLICATE KEY UPDATE" 语法
如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE;如果不会导致唯一值列重复的问题,则插入新行。 例如,如果列 a 为 主键 或 拥有UNIQUE索引,并且包含值1,则以下两个语句具有相同的效果: 1INSERT转载 2014-02-17 23:58:51 · 692 阅读 · 0 评论 -
MySQL中的Rows,Row_format以及MyISAM和InnoDB的一点区别
前面说到的count(*)的数字MyISAM是存储在一个地方就是表的Rows中,从下面的话中我们可以看出MyISAM存的是一个准确的数字,而InnoDB则存储的是粗略的数字。RowsThe number of rows in the table. For nontransactional tables, this number isalways accurate. For转载 2014-02-18 00:32:56 · 2074 阅读 · 0 评论 -
MySQL DATE_SUB() 函数
定义和用法DATE_SUB() 函数从日期减去指定的时间间隔。语法DATE_SUB(date,INTERVAL expr type)date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。type 参数可以是下列值:Type 值MICROSECONDSECONDMINUTE转载 2014-02-18 00:21:08 · 1786 阅读 · 1 评论 -
索引的填充因子
创建索引时,可以指定一个填充因子,以便在索引的每个叶级页上留出额外的间隙和保留一定百分比的空间,供将来表的数据存储容量进行扩充和减少页拆分的可能性。填充因子的值是从 0 到 100 的百分比数值,指定在创建索引后对数据页的填充比例。值为 100 时表示页将填满,所留出的存储空间量最小。只有当不会对数据进行更改时(例如,在只读表中)才会使用此设置。值越小则数据页上的空闲空间越转载 2014-02-18 00:18:36 · 2132 阅读 · 0 评论 -
MYSQL引擎
摘要: MySQL数 据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引 擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用 ...MySQL数 据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎转载 2013-12-02 22:45:17 · 543 阅读 · 0 评论 -
mysql去掉哔哔音
方法1:登录的时候用mysql -uroot -b -p或者用命令 mysql --no-beep方法2:配置mysql 的my.inimy.ini 中在[mysql] 行的下加入一行no-beep如下图:如果当前的My Command LineClient开着的的话,要重启一下才能生效。方法3:“我的电脑”上转载 2013-10-12 20:36:06 · 871 阅读 · 0 评论 -
MYSQL中MY.CNF配置文件及参数介绍
设置建议:对于单台运行的WEB服务器,建议加上:skip-lockingskip-name-resolveskip-networking在PHP链接数据库时使用"LOCALHOST".这样MySQL 客户端库将覆盖之并尝试连接到本地套接字.(我们可以从PHP.INI中代码: ; Default socket name for local MySQL co转载 2012-11-19 10:35:40 · 538 阅读 · 0 评论 -
MySQL性能监控小知识
MySQL性能监控小知识一,获取mysql用户下的进程总数ps -ef | awk '{print $1}' | grep "mysql" | grep -v "grep" | wc-1二,主机性能状态# uptime[root@ ~]# uptime13:05:52 up 53 days, 52 min, 1 user, load average: 0转载 2012-11-17 10:52:18 · 395 阅读 · 0 评论 -
mysqld守护脚本
#!/bin/sh#This is check msyqld shell#by:key1088@163.com#守护mysqld脚本,防止意外崩溃。#如果连接启动10次,依旧启动不来了。停止(可以写成运行某个程序),解决内存。 ERRLOG=/videodata/mysqldata/data/CHINASOFT.errload_mysqld (){/etc/in转载 2012-11-17 10:36:37 · 447 阅读 · 0 评论 -
mysql 基础 -mysqld_safe 启动执行流程
mysqld_safe脚本执行的基本流程:1、查找basedir和ledir。2、查找datadir和my.cnf。3、对my.cnf做一些检查,具体检查哪些选项请看附件中的注释。4、解析my.cnf中的组[mysqld]和[mysqld_safe]并和终端里输入的命令合并。5、调用parse_arguments函数解析用户传递的所有参数($@)。6、对系统日志和错误日志的转载 2012-11-17 10:02:28 · 702 阅读 · 0 评论 -
MYSQL初学者使用指南 下篇
在上篇我们讲了登录、增加用户、密码更改等问题。下篇我们来看看MYSQL中有关数据库方面的操作。注意:你必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。一、操作技巧1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。转载 2011-11-28 19:41:21 · 391 阅读 · 0 评论 -
MYSQL初学者使用指南 上篇
有很多朋友虽然安装好了mysql但却不知如何使用它。在这篇文章中我们就从连接MYSQL、修改密码、增加用户等方面来学习一些MYSQL的常用命令。一、连接MYSQL。格式: mysql -h主机地址 -u用户名 -p用户密码1、例1:连接到本机上的MYSQL。首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码转载 2011-11-28 19:38:39 · 451 阅读 · 0 评论 -
构建 MySQL 数据库服务器
构建 MySQL 数据库服务器 前 言 在提到网站构架的时候,我们经常能够看到“LAMP”的说法,它就是“Linux + Apache + MySQL + PHP”。 MySQL+PHP的协同成功案例已经很多了。比如国外的PHPBB,VBB,国内的Discuz!论坛等等程序,都是用PHP + MySQL实现的。和那些商务专用数据库比起来,MySQL的功能和规模可能被好多人说的逊转载 2011-11-28 18:44:43 · 433 阅读 · 0 评论 -
ubuntu 系统解决mysql连接问题(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:
我的系统是ubuntu8.04,最近新装好的mysql在进入mysql工具时,总是有错误提示:# mysql -uroot -pEnter password:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)使用网上介绍的方法修改root用户的密码:# mysq转载 2011-11-28 17:45:01 · 1675 阅读 · 0 评论 -
Mysql中创建用户帐户的方法
1.CREATE USERCREATE USER user [IDENTIFIED BY [PASSWORD] 'password'] [, user [IDENTIFIED BY [PASSWORD] 'password']] ...CREATE USER用于创建新的MySQL账户。要使用CREATE USER,您必须拥有mysql数据库的全局CREATE USER权限,或拥有转载 2012-11-19 11:42:23 · 824 阅读 · 0 评论 -
MYSQL中的日期转换
对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型。 这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内:mysql> SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) DAYOFWEEK(date)转载 2012-11-19 11:44:07 · 420 阅读 · 0 评论 -
MySQL启动脚本改装,支持多配置文件
相信很多童鞋都不止维护一个MySQL实例,MySQL自带的启动脚本不太好使,所以改装了一下,把指定的配置文件名传入即可使用示例:?Usage: mysqld {start|stop|restart|reload|force-reload|status} [ config name."my.cnf" example "my" (defau转载 2012-11-26 11:06:54 · 978 阅读 · 0 评论 -
CMake Error: cmake_symlink_library: System Error: Operation not supported
链接:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3595245&fromuid=26971268按9楼的方法试了一遍,通过。转载 2012-11-21 15:07:28 · 11113 阅读 · 3 评论 -
Linux下源码编译安装MySQL 5.5.8
001准备工作:002 003新建用户和用户组004 005groupadd mysql006useradd -g mysql mysql转载 2012-11-19 17:01:31 · 457 阅读 · 0 评论 -
MySQL Timeout解析
“And God said, Let there be network: and there was timeout”在使用MySQL的过程中,你是否遇到了众多让人百思不得其解的Timeout?那么这些Timeout之后,到底是代码问题,还是不为人知的匠心独具?本期Out-man,讲述咱们MySQL DBA自己的Timeout。先看一下比较常见的Timeout参数和相关解释:转载 2012-11-19 14:26:13 · 465 阅读 · 0 评论 -
CentOS源码编译安装Mysql5.5
安装Mysql5.5之前先卸载CentOS自带的Mysql5.0。Java代码 [root@localhost ~]# yum remove mysql [root@localhost ~]# yum remove mysql 编译安装cmake下载cmake源码包cmake-2.8.4.tar.gz,mv到/usr/local/src目录下转载 2012-11-19 15:21:04 · 687 阅读 · 0 评论 -
my_cnf详解
参数解释mysqld程序:基本设置basedir = path使用给定目录作为根目录(安装目录)。character-sets-dir = path给出存放着字符集的目录。datadir = path从给定目录读取数据库文件。pid-file = fi转载 2012-11-19 12:53:18 · 534 阅读 · 0 评论 -
Mysql4安装Client does not support authentication protocol requested问题的解决
今天升级了一下Mysql数据库,结果出现了以下错误:Client does not support authentication protocol requested by server; consider upgrading MySQL client升级到4.1.7版:[root@eygle gbook]# mysql -uroot -p -heygleEnter passwor转载 2012-11-19 11:46:07 · 497 阅读 · 0 评论 -
linux下mysql5.5.19编译安装笔记
测试安装成功,并修改文中的错误(粗体的为修改过的,使用的版本为5.5.19): 1,安装所需要系统库相关库文件yum –y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml*ncurses-devel libmcrypt* libtool-ltdl-devel*[备注:由于机器装有GCC,这步没有进转载 2012-11-19 15:26:17 · 561 阅读 · 0 评论 -
MySQL replace into 用法
在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在; 2. 如果不存在,则插入;3.如果存在,则更新。在 SQL Server 中可以这样处理: if not exists (select 1 from t where id = 1) insert into t(id, update_time) values(1, getdate())转载 2014-02-18 00:10:44 · 585 阅读 · 0 评论