参考了
http://www.centos.bz/2011/09/linux-compile-install-mysql-5-5-15-from-source/
海哥centos blog
centos 64位
mysql5.5.14
yum install ncurses-devel
先确保删除原有的mysql
yum info installed |grep mysq*
先安装cmake
wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
#备注 make clean
#备注 rm -f CMakeCache.txt
为root帐户设置初始密码
# /opt/mysql/bin/mysqladmin -u root password 'new-password'
删除本机匿名连接的空密码帐号
/opt/mysql/bin/mysql -uroot -p'new-password'
mysql>use mysql; //选择系统数据库mysql
mysql>select Host,User,Password from user; //查看所有用户
mysql>delete from user where password="";
mysql>flush privileges;
mysql>select Host,User,Password from user; //确认密码为空的用户是否已全部删除
mysql>exit;
参数说明:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data //数据库存放目录
-DWITH_MYISAM_STORAGE_ENGINE=1 //安装myisam存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 //安装innodb存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 //安装archive存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 //安装blackhole存储引擎
-DENABLED_LOCAL_INFILE=1 //允许从本地导入数据
-DDEFAULT_CHARSET=utf8 //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci //校验字符
-DEXTRA_CHARSETS=all //安装所有扩展字符集
-DMYSQL_TCP_PORT=3306 //MySQL监听端口
-DMYSQL_USER=mysql //MySQL用户名
其他参数:
-DWITH-EMBEDDED_SERVER=1 //编译成embedded MySQL library (libmysqld.a)
-DSYSCONFDIR=/etc //MySQL配辑文件
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock //Unix socket 文件路径
-DWITH_READLINE=1 //快捷键功能
-DWITH_SSL=yes //SSL
-DWITH_MEMORY_STORAGE_ENGINE=1 //安装memory存储引擎
-DWITH_FEDERATED_STORAGE_ENGINE=1 //安装frderated存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1 //安装数据库分区
-DINSTALL_PLUGINDIR=/usr/local/mysql/plugin //插件文件及配置路径
mysql目录下的supports-files有几个配置适合:
1、my-small.cnf 内存小于64M适用。
2、my-medium.cnf 内存小于128M且mysql必须与其它服务共享系统资源时。
3、my- large.cnf 内存小于512M且MYSQL做为主服务时。
4、my-huge.cnf 内存有1~2G且mysql做为主服务时。
5、 my-innodb-heavy-4G.cnf 内存4G以上,且主要使用innodb,并且连接数不多但查询较为复杂时。