数据库的索引可以加快查询速度,原因是索引使用特定的数据结构(B-Tree)对特定的列额外组织存放,加快存储引擎(索引是存储引擎实现)查找记录的速度。
索引优化是数据库优化的最重要手段。
如果查询语句使用索引(通常是where条件匹配索引)就会利用树的结构加快查找,索引会按值查找到要查找的行在表中位置,不需回表查询数据的就是聚簇索引(索引和数据存放在一起)。通常是需要回表再查数据,需要消耗额外的磁盘IO。所以有些时候(如按顺序读取数据)全表扫描会比使用索引快的原因就在于此。
查询条件只有一个字段时,在该字段建立索引即...
UPDATE typecho_metas tb1 set count = (SELECT COUNT(*) FROM typecho_relationships WHERE mid=tbl1.mid)
紧接着上文,这次是重装mysql,正好之前有人要lnmp的安装方法,算上这篇文章就全了。
安装前准备
如果mysql用户不存在,那么添加mysql用户
groupadd mysql
useradd -g mysql mysql
12
groupadd mysqluseradd -g mysql mysql
mysql编译安装
wget http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.70.tar.gz
tar -zxvf mysql-5.1.70.tar.gz
cd mysql-5.1.70
yum install ncurses ncurses-...
早上访问blog.redis.com.cn,页面提示
“建立数据库连接时出错”
机器环境跑的是nginx+php-fpm+mysql、出问题之前也没做过停止mysql进程的操作。
突然间数据库连接出错,
开始以为php的问题,那么我在命令行直接访问mysql
mysql -u root -p
1
mysql -u root -p
出现错误提示
2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
...
更换服务器环境的时候如果数据库是直接拷贝数据库文件夹过来,需要做两件事情。
其中/usr/local/lnmp/mysql/是mysql的安装路径:
/usr/local/lnmp/mysql/bin/mysqladmin -u root -p flush-tables
chown -R mysql:mysql /usr/local/lnmp/mysql/
12
/usr/local/lnmp/mysql/bin/mysqladmin -u root -p flush-tableschown -R mysql:mysql /usr/local/lnmp/mysql/
重启mysql,数据库就可以使用。
因为数据库的权限是启动时...
从一台服务器去连接另一台服务器的mysql提示如下错误
ERROR 2003 (HY000): Can't connect to MySQL server on 'blog.redis.com.cn' (111)
注释掉/etc/mysql/my.conf中以下两条
#skip-networking
#bind-address = 127.0.0.1
重启mysql服务
service mysql restart
mysql中插入如下数据
“2012年1月1日”到 date类型字段
数据库表结构 huangli(day date);
sql语句格式为
insert into huangli values(STR_TO_DATE('2012年1月1日', '%Y年%m月%d日'))
批量insert语句主键冲突时,会停止执行,报如下错误,
ERROR 1062 (23000) at line 5412: Duplicate entry '1577987' for key 'PRIMARY'
mysql -uroot -p123456 -f database < filename.sql
-u后跟用户名,无空格
-p后跟密码,无空格
-f后跟数据库名,有空格表示强制执行,忽略错误
插入
INSERT INTO shengqi(id,content,mm) VALUES ('1','升 7:36<br/>降 16:59','2012-01-1');
查询:
select id,content from shengqi where DATE_FORMAT(mm,'%Y-%m') = '2012-01';
或
select id,content from shengqi where mm= '2012-01-01';
update user set host=REPLACE(host,'main','slave')
对user表中的hoist字段进行替换,字段中main替换成slave