mysql

mysql 详解隔离级别操作过程(cmd)

12-26
读未提交示例操作过程-Read uncommitted 1.打开两个MySql的命令提示行,均进入相同数据库,并检查当前表内容为相同数据如下: 2.在A.B两端执行select @@tx_isolation;检查当前默认的隔离级别别,可以发现都是 Repeatable Read –可重复读-(在当前事务内,重复读取第一次读取过的数据就叫可重复读.) 3.修改A端的隔离级别为readuncommitted –读未提交.意思是可以读取别人没有提交的数据. set transactionisolati

MySQL的查询计划中ken

12-26
key_len的含义 在MySQL中,可以通过explain查看SQL语句所走的路径,如下所示: mysql> create table t(a int primary key, b int not null, c int not null, index(b)); Query OK, 0 rows affected (0.01 sec) mysql> explain select b from t ; +----+-------------+-------+-------+----------

MySQL查看目前运行状况的两种方法

12-26
第一种方法:利用mysql命令查看 MySQL 内建直接看 status 就可以看到系统常见讯息, 如下述范例: 1.$ mysql -u root -p 2.mysql> s "Threads: 2 Questions: 224857636 Slow queries: 229 Opens: 1740 Flush tables: 1 Open tables: 735 Queries per second avg: 137.566 $ mysql -u root -p -e "st

mysql事务与mysql储存引擎

12-26
事务概念及存储引擎 1.0 为何要事务? 先来看一个场景,银行转账汇款: 李彦宏和周鸿

mysql数据库sql优化原则(经验总结)

12-26
一.前提 这里的原则只是针对MySQL数据库,其他的数据库某些是殊途同归,某些还是存在差异.我总结的也是MySQL普遍的规则,对于某些特殊情况得特殊对待.在构造SQL语句的时候要养成良好的习惯. 二.原则总结 原则1.仅列出需要查询的字段,这对速度不会明显的影响,主要是考虑节省应用程序服务器的内存. 原来语句: select * from admin 优化为: select admin_id,admin_name,admin_password from admin 原则2.尽量避免在列上做运算,

优化mysql嵌套查询和联表查询

12-26
优化mysql嵌套查询和联表查询 嵌套查询糟糕的优化 在上面我提到过,不考虑特殊的情况,联表查询要比嵌套查询更有效.尽管两条查询表达的是同样的意思,尽管你的计划是告诉服务器要做什么,然后让它决定怎么做,但有时候你非得告诉它改怎么做.否则优化器可能会做傻事.我最近就碰到这样的情况.这几个表是三层分级关系:category, subcategory和item.有几千条记录在category表,几百条记录在subcategory表,以及几百万条在item表.你可以忽略category表了,我只是交代一

MySQL递归查询树状表的子节点、父节点

12-26
简介:mysql5.0.94版本,该版本以及较高级的版本(5.5.6等等)尚未支持循环递归查询,和sqlserver.oracle相比,mysql难于在树状表中层层遍历的子节点.本程序重点参考了下面的资料,写了两个sql存储过程,子节点查询算是照搬了,父节点查询是逆思维弄的. 资料参考:http://blog.csdn.net/ACMAIN_CHM/article/details/4142971#comments 表结构和表数据就不公示了,查询的表user_role,主键是id,每条记录有par

MySQL基础教程之IN的用法详解

12-26
MySQL IN 语法 IN 运算符用于 WHERE 表达式中,以列表项的形式支持多个选择,语法如下: WHERE column IN (value1,value2,...) WHERE column NOT IN (value1,value2,...) 当 IN 前面加上 NOT 运算符时,表示与 IN 相反的意思,即不在这些列表项内选择. IN 使用实例 选取 uid 为 2.3.5 的用户数据: SELECT * FROM user WHERE uid IN (2,3,5) 返回查询结果如

mysql导入数据方法mysqlimport

12-26
mysql导入数据方法mysqlimport 1).mysqlimport的语法介绍: mysqlimport位于mysql/bin目录中,是mysql的一个载入(或者说导入)数据的一个非常有效的工具.这是一个命令行工具.有两个参数 以及大量的选项可供选择.这个工具把一个文本文件(text file)导入到你指定的数据库和表中.比方说我们要从文件Customers.txt中把数据导入到数据库Meet_A_Geek中的表 Custermers中: mysqlimport Meet_A_Geek C

CentOS6下安装mysql后,重置root密码方法

12-26
CentOS6CentOS 本人在CentOS6.4上安装万mysql后,无法通过root进入,因为安装的时候,并没有设置root密码,似乎有个初始随机密码,但是不记得了,太麻烦,直接重置root密码. 使用rpm包安装完mysql后,按照一下步骤重置root密码: 启动mysql: #/etc/init.d/mysql start 启动成功后查看mysql进程信息,获取mysqld_safe的安装目录(非常关键): #ps -ef | grep -i mysql root 3466 1 0 0

mysql(slow-query)快速开启慢日志查询的方法

12-26
mysql(slow-query)快速开启慢日志查询的方法 mysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的 打开 my.ini ,找到 [mysql] 在其下面添加 long_query_time = 2 log-slow-queries = D:/mysql/logs/slow.log #设置把日志写在那里,可以为空,系统会给 一个缺省的文件 #log-slow-queries = /var/youpath/slow.log linux下host_nam

mysql在线无性能影响删除7G大表

12-26
mysql在线无性能影响删除7G大表 如何在mysql数据库里删除7G(或更大)大表,使其又不影响服务器的io,导致性能下降影响业务.先不说其是mysql表,就是普通文件,如果直接rm删除,也会使服务器的io性能急剧下降:换个思路如果用化整为零的方式,分多次大大文件一点一点删除,就可以避免因删除文件占用太多服务器io资源 例子: www.bitsCN.com 版本: mysql> select version(); +------------+ | version()  | +---------

mysql将数据库中表导入另一个数据库

12-26
mysql将数据库中表导入另一个数据库 1.先备份 mysqldump -uxxxx -pxxxx --opt dbname tablename > filename.sql 2.拷贝备份出来的文件filename.sql到目的机器 3.导入数据(覆盖) mysql -uxxxx -pxxxx dbname < filename.sql

MySQL5.7的安装与配置详细操作步骤

12-26
一.MySQL的下载 1.登陆MySQL的官网下载适用于64位系统的ZIP压缩包(https://dev.mysql.com/downloads/mysql/) 二.解压安装包 将下载的ZIP压缩包解压到任意文件夹.(此处为: C:\mysql5.7) 三.修改配置文件 将解压文件夹目录下的my-default.ini 文件重命名为 my.ini  . 用文本编辑器打开并清空其中内容. 添加内容(参考互联网): [mysql] # 设置mysql客户端默认字符集 default-characte

MySQL查询两个日期之间记录的方法

11-22
网上搜索出来的结果多是下面答案: MySQL中,如何查询两个日期之间的记录,日期所在字段的类型为datetime(0000-00-00 00:00:00) 解决方案: 直接使用><=就可以查询. where createDate<'2003-5-31' and createDate>'2003-2-30'; 其实简单美好的写法可以是这样的 where createDate between'2010-08-01'  and  '2010-08-19' 看完了之后,你是不是觉得后者比较

mysql基础知识扫盲

11-22
本篇主要介绍关于mysql的一些非常基础的知识,为后面的sql优化做准备. 一:连接mysql 关于mysql的下载和安装我在这里就不说了,第一步我们要连接我们的mysql服务器,打开cmd命令切换到你安装MySQL Server 的bin目录下,然后输入mysql -h localhost -u root -p 其中-h 表示你的主机地址(本机就是localhost,记住不要带端口号) -u 就是连接数据库名称 -p就是连接密码.出现以下图就表示连接成功了 二:常用的sql语句 2.1:创建数

谷歌发布基于MySQL云数据库解决方案

01-04
[赛迪网讯]北京时间10月8日,据国外媒体报道,也许谷歌应用引擎与其他云计算解决方案相比不是很出名,但该公司一直在扩充其云解决方案.最新的消息显示谷歌正在为其应用引擎提供云数据库服务.谷歌的云SQL是一项基于 MySQL数据库的服务,应用引擎用户可以将其数据库迁移到云中,或者使用其现有的需要在应用引擎中进行数据库访问的应用程序.这项服务目前是免费的,谷歌在收费前,会提前30天通知用户.这项服务相对于建立用户自己的数据库有很多优势,毕竟谷歌的计算基础架构应该是世界上最大的.使用云SQL的好处显而易

Mysql 导出数据库和指定表中的数据

12-31
参考地址:http://jingyan.baidu.com/article/b7001fe14240ab0e7282dde9.html [root@youo zw]# mysqldump -u root -p IpManage_v2 > zw_ipmanagev2.sql; 唉哟,不错哦!   MySQL导出指定表中的数据 要求: 1. 不导出创表的语句,因为表已经建好:默认会导出,先drop table然后create table: 2. 导出的insert语句加上ignore,允许重复执行:

解决Cannot find MySQL header files under /usr/include/mysql的错误

12-19
风信网(ithov.com)原创文章:编译php-5.5-6的mysql支持,出现Cannot find MySQL header files under /usr/include/mysql. Note that the MySQL client library is not bundled anymore!错误!解决方法如下: [root@localhost php-5.5.6]# ./configure --prefix=/usr/local/php --with-config-file-

MYSQL出错代码汇总

12-16
mysql的出错代码表,根据mysql的头文件mysql/include/mysqld_error.h整理而成. 1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件导致删除数据库失败 1010:不能删除数据目录导致删除数据库失败 1011:删除数据库文件失败 1012:不能读取系统表中的记录 1020:记录已被其他用户修改 1021:硬盘剩余空间不足,请加大硬盘可用空间 1022:关键字重复