cmake编译安装MySQL-5.5

从mysql5.5起,mysql的源码安装开始使用cmake了。“CMake”是“cross platform make” 的缩写。即是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。

一、安装cmake

下载cmake

# tar xf cmake-2.8.8.tar.gz
# cd cmake-2.8.8
# ./bootstrap
# make
# make install

二、编译安装mysql-5.5.33

1、使用cmake编译mysql-5.5是的常用选项

cmake指定编译选项的方式不同于make,如下为configure选项如何映射到CMake的等值参数。

configure CommandCMake Command
./configurecmake .
./configure --help cmake . –LH or ccmake .

如果需要重新编译时,可用下面命令清除旧的对象文件和缓存信息    

# make clean    
# rm -f  CMakeCache.txt

指定安装文件的安装路径时常用的选项:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql      --安装的基本目录

-DMYSQL_DATADIR=/data/mysql            --数据文件所在目录

-DSYSCONFDIR=/etc           --配置文件my.cnf所在目录

mysql存储引擎是插件式的,因此插件控制选项可以指定那个存储引擎安装。CSV、MyISAM、MERGE和MEMORY引擎为默认强制安装。若要安装其它存储引擎,使用-DWITH_engine_STORAGE_ENGINE=1 可以使用类似如下编译选项:

-DWITH_INNOBASE_STORAGE_ENGINE=1

-DWITH_ARCHIVE_STORAGE_ENGINE=1

-DWITH_BLACKHOLE_STORAGE_ENGINE=1

-DWITH_FEDERATED_STORAGE_ENGINE=1

若要明确指定不编译某存储引擎,则使用-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1 比如:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1

-DWITHOUT_FEDERATED_STORAGE_ENGINE=1

-DWITHOUT_PARTITION_STORAGE_ENGINE=1

lib库选项:如若要编译进其它功能,则可使用类似如下选项来实现编译时使用某库或不使用某库:

-DWITH_READLINE=1      --支持使用数据的批量导入导出功能

-DWITH_SSL=system       --支持SSL安全功能

-DWITH_ZLIB=system       --支持压缩功能

-DWITH_LIBWRAP=0        --安全机制

其它常用的选项有:

-DMYSQL_TCP_PORT=3306           --默认TCP端口

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock        --默认套接字文件路径  

-DENABLED_LOCAL_INFILE=1      --是否允许从本地导入数据

-DEXTRA_CHARSETS=all              --额外字符集

-DDEFAULT_CHARSET=utf8             --默认字符集

-DDEFAULT_COLLATION=utf8_general_ci      --排序规则

-DWITH_DEBUG=0           --是否启用调试功能  

-DENABLE_PROFILING=1           --性能数据收集  

2、安装配置mysql

1)创建目录和用户

# mkdir /usr/local/mysql                     
# mkdir /mydata/data
# groupadd -r mysql                     
# useradd -g mysql -r -d /mydata/data mysql   //创建mysql用户并赋予数据存放目录权限

2) cmake安装mysql

# tar xf mysql-5.5.33.tar.gz
# cd mysql-5.5.33
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data
-DSYSCONFDIR=/etc
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DWITH_SSL=system -DWITH_ZLIB=system
-DWITH_LIBWRAP=0
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
# make
# make install


3. 配置并初始化数据库

# cd /usr/local/mysql/
# chown -R .mysql .
# ls -lh
# cp support-files/my-large.cnf  /etc/my.cnf          //创建my.cnf配置文件到/etc 下
# vim /etc/my.cnf                     //编辑my.cnf 文件并插入数据文件所在目录 datadir = /mydata/data
# scripts/mysql_install_db --user=mysql --datadir=/mydata/data    //初始化数据库
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld                //创建管理MySQL数据库的shell脚本
# chmod +x /etc/rc.d/init.d/mysqld            //赋予脚本可执行权限
# chkconfig --add mysqld                 //加入开机自起列表       
# chkconfig --list mysqld               //确认开机mysqld 开机自起
# service mysqld start                 //启动
# ss -tanl   //确认3306端口处于监听状态
# vim /etc/profile.d/mysql.sh      //插入 export PATH=/usr/local/mysql/bin:$PATH
#  .  /etc/profile.d/mysql.sh    //source 文件

4. 为mysql设置密码,消除安全隐患

# mysql           //初始空密码登录数据库
mysql> SELECT user, host, password FROM user;    //查看所有用户
mysql> DROP USER ‘‘@localhost  //删除两个默认匿名用户
mysql> DROP USER root@‘::1‘;   //删除本机ipv6用户
mysql>  UPDATE user SET password=PASSWORD(‘mypass‘) WHERE user=‘root‘;   //给用户添加密码
mysql>FLUSH PRIVILEGES;  //刷新授权表
mysql>  \q       //退出
#mysql -uroot –p              //使用密码登入


cmake编译安装MySQL-5.5,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。