一,我的电脑里面mysql的情况
我电脑里面有二个mysql
1,一个是软件管理工具安装的mysql,如yum,apt get,pacman这样的软件,版本是mysql5.1.50
2,另一个是我手动编译安装的,安装在/usr/local/mysql下面,版本是mysql5.1.26-rc-log
如果能启动多个mysql服务的话,其实有许多好处的,你可以查看一下mysql性能的提升啊;启动了多个mysql服务后,你可以进行数据库进的数据同步,做个mysql集群什么的等等,我的初忠呢是想搞个比较新版本,又不想把以前的那个msyql给搞得不能用了,最好都能用。
阅读全文>>
一,什么是数据库分区
前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,myi就会变的很大,查找数据就会变的很慢,这个时候我们可以利用mysql的分区功能,在物理上将这一张表对应的三个文件,分割成许多个小块,这样呢,我们查找一条数据时,就不用全部查找了,只要知道这条数据在哪一块,然后在那一块找就行了。如果表的数据太大,可能一个磁盘放不下,这个时候,我们可以把数据分配到不同的磁盘里面去。
阅读全文>>
这二天,我想把我电脑里面的二个不同版本的mysql同时启动,但是没有成功,还导致其中一个mysql启动不了,郁闷。我用二种方式启动都不行
一,问题如下
1,[root@BlackGhost data]# /usr/local/mysql/bin/mysqld_safe --user=root --skip-grant-tables
提示如下:
阅读全文>>
一,装了二个不同版本的mysql,进入数据库要密码
今天又装了个新的mysql,因为以前的那个mysql比较老了,不支持mysql的分区功能,我又不想把老的删除掉,里面有好多,我实践过的东西,不舍得。我的电脑里面有二个不同版本的mysql,本想让这二个不同版本的mysql同时跑起来,没成功。我通过修改/share/mysql/mysql.server中的配置,让二个不同版本的mysql都能独立跑起来
阅读全文>>
不知道大家有没有想过,我们向mysql数据库中写入了数据,这些数据存放在什么地方。在linux下手动编译安装过mysql的人,我想会知道存放在什么地方,mysql_install_db有这一步操作,他是产生mysql自带的数据库,执行了这一步操作后,你可以到/mysql安装目录/data(这个数据目录,可以从my.cnf中查到datadir) 目录下面就会出一个mysql的文件夹。
一,frm myd myi opt的解释
1,.frm保存的是描述了表的结构
阅读全文>>
对memcache的操作一般都是放程序里面去操作的,新增,更新,删除什么的。如果能利用mysql来对memcache进行操作,那就更好,代码端就会简单一点。但是利用mysql来操作memcache,比较适合实现简单的方式。下面说一下安装的过程和遇到的问题,在看安装过程的之前,我觉得应当先看一下,我安装时候所遇到的问题,这样你可以避免掉,少走一点弯路。
一,安装所要的软件
阅读全文>>
一,为什么要开启这个查询呢?
数据库是很容易产生瓶颈的地方,现在Nosql大家讨论这么热,估计都被数据库搞郁闷了。mysql中最影响速度的就是那些查询非常慢的语句,这些慢的语句,可能是写的不够合理或者是大数据下多表的联合查询等等,所以我们要找出这些语句,分析原因,加以优化。这也是发这篇博文的原因
阅读全文>>
网站运行很慢的时候,我就特别起知道为什么这么慢,所以我查啊查,数据库绝对是很重要的一部分,里面运行的sql是绝对不能放过的。平时做项目的时候,我也会注意sql语句的书写,写出一些高效的sql来,所以我会经常测试自己写的sql语句。我把我知道的二个方法,总结一下发出来。
一,show profiles 之类的语句来查看
1,查一下profile是不是打开了,默认是不打开的。
阅读全文>>
今天在论坛中看到一个关于mysql的问题,问题如下
good_id cat_id
12654 665,569
12655 601,4722
goods_id是商品id
cat_id是分类id
当我,怎么根据这种分类ID查数据(一个商品有多个分类,而且用逗号隔开了)
我现在用的是like 这样的话,输入一个分类id是688,或者4722都能出来这个商品,但输入一个722也出来这个商品了。
阅读全文>>
一,先说一下为什么要分表
当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。
根据个人经验,mysql执行一个sql的过程如下:
1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果。在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,第二,sql的执行时间。其实这二个是一回事,等待的同时,肯定有sql在执行。所以我们要缩短sql的执行时间。
阅读全文>>