MySQL 5.4的新特性解析
Author: Ivan@mysqlab.net/谭俊青 转载请注明来源URI链接:
http://www.mysqlab.net/blog/2009/04/mysql-54的新特性解析/
MySQL 5.4 之所以命名为5.4,而不是5.2 是因为之前的5.2版本被命名为6.0了(这个应该是商业上的原因,就像java1.6被命名为6.0)。现在的5.4 preview release 是在当前MySQL5.1的基础上,对 Innodb 进行了一些优化,这些补丁来自google,包括:InnodbIoTuning, InnodbAsyncIo, InnodbStatus , NewShowInnodbStatus , SmpPerformance 等。
从所打的那些补丁,我们可以看出,对innodb做了很多优化,特别是io的优化和smp多核cpu的优化。
下面就一些新增参数和默认值的更改做些说明:
innodb_io_capacity
这个在之前的innodb版本中是被写死的,默认值是100,在5.4中默认值已经改成200。
innodb_extra_dirty_writes
这个是非常有用的一个特性,当服务器资源idle的时候,会做checkpoint,将脏数据页写入表空间,及时没有到达设置的比例(innodb_dirty_pages_pct,innodb_max_dirty_pages_pct)。
innodb_buffer_pool_size
默认值由原来的8M改为1G,其实在大些的db中,这个还是远远不够的。可以将1半,甚至2/3的内存用在这上面。
innodb_log_file_size
默认值增至128M 在磁盘性能好些的机器上,应该还要增加,配合innodb_dirty_pages_pct, 以实现更加好的性能。
innodb_thread_concurrency
Innodb中的并发控制参数,默认值由8改0,这个都得以于google的smpperformance补丁,以前并发超过8时,性能基本上会下降。
另外需要提醒的是:目前MySQL5.4还是preview release,不建议用于生产环境。
相关文档:
<>整理了以下四种在MySQL中修改root密码的方法,可能对大家有所帮助!
方法1: 用SET PASSWORD命令
mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
方法2:用mysqladmin
mysqladmin -u root password "newpass"
如果root已经设置 ......
<?php
/**
* Mysql DB
*
* @author Administrator
* @package defaultPackage
*/
class MySqlDB{
private $_db;
private static $_instance;
private function __construct(&$db_type){
global $connectionstr;
$conn_db=$connectionstr[$db_type];
$this->_db=mysql_pconnect($conn ......
MySQL的timestamp类型自动更新问题
今天建了一个表,里面有一个列是timestamp类型,我本意是在数据更新时,这个字段的时间能自动更新。岂知对这个类型的值还不甚了解,导致出错。发现这个字段只是在这行数据建立的时候有值,在更新的却无变化。
查找资料,发现是我建表的语句有问题:
以下是代 ......
安装完phpmyadmin
大家经常出现的问题就是报错:“无法载入mysql扩展,请检查php配置”。
如果你使用的是php5.2以上的版本,请注意:php对服务的扩展功能做了一定的改动,也就是说,你安装php和扩展的方式也要做调整了。
主要的调整有两方面,一是PHP5.2以上的版本中,PHP.INI文件无需添加到WINDOWS目录下。二 ......
Unix&Linux:
1.用root或者运行mysqld的用户登录系统;
2.利用kill命令结束掉mysqld的进程;
3.使用--skip-grant-tables参数启动MySQL Server
shell>mysqld_safe --skip-grant-tables &
4.为root@localhost设置新密码
shell>mysqladmin -u root flush-privileges password "newpassword" ......