mysql5.5编译

参考了

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


tar zxvf cmake-2.8.4.tar.gz
cd cmake-2.8.4
./bootstrap
make
make install
=================
创建用户和组
/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql

建立mysql安装目录及数据存放目录
mkdir -p /usr/local/webserver/mysql
mkdir -p /usr/local/webserver/mysql/data

赋权限
chown mysql:mysql -R /usr/local/webserver/mysql/data

配置
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql \
-DSYSCONFDIR=/usr/local/webserver/mysql/etc \
-DMYSQL_DATADIR=/usr/local/webserver/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1


备注:如果更改编译配置


#备注 make clean
 #备注 rm -f CMakeCache.txt

编译和安装
make
make install

其他
mkdir -p /usr/local/webserver/mysql/log
mkdir -p /usr/local/webserver/mysql/etc
chmod +w /usr/local/webserver/mysql

cp ./support-files/my-large.cnf /usr/local/webserver/mysql/etc/my.cnf


 /usr/local/webserver/mysql/scripts/mysql_install_db \
 --defaults-file=/usr/local/webserver/mysql/etc/my.cnf \
 --basedir=/usr/local/webserver/mysql \
 --datadir=/usr/local/webserver/mysql/data \
 --user=mysql

cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/init.d/mysqld

vi /etc/init.d/mysqld(编辑此文件,查找并修改以下变量内容:)
basedir=/usr/local/webserver/mysql
datadir=/usr/local/webserver//mysql/data

加入启动
chkconfig --add mysqld
chkconfig --level 345 mysqld on
启动
service mysqld start
到这里如果失败就很遗憾鸟。

然后密码
通过命令行登录管理MySQL服务器(提示输入密码时直接回车):
/usr/local/webserver/mysql/bin/mysql -u root

为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,并且连接数不多但查询较为复杂时。








猜你喜欢

转载自xieye.iteye.com/blog/1732850