您的位置:首页 > 数据库 > MySQL

Cmake编译安装Mysql-5.5

2013-07-13 14:48 393 查看
Mysql从5.5开始,源代码安装不在使用configure,而是改为cmake,所以,安装mysql是需要先安装cmake
rpm -ivh cmake-2.6.4-7.el5.i386.rpm
安装前准备

groupadd mysql
useradd -g mysql mysql
mkdir /usr/local/mysql
chown mysql.mysql /usr/local/mysql/ -R
mkdir -pv /usr/local/mysql/data
yum remove mysql-server mysql mysql-devel -y
yum install gcc gcc-c++ ncurses-devel libtool openssl-devel -y
tar zxf mysql-5.5.29.tar.gz
cd mysql-5.5.29

编译安装

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data/ -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_INNODBBASE_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all   -DDEFAULT_CHARSET=utf8
make
make install


注:
cmake和configure一样,编译时可添加需要的参数,其语法对比如下:
configure命令CMake命令
./configurecmake .
./configure --prefix=/usrcmake . -DCMAKE_INSTALL_PREFIX=/usr
在configure中如果编译

--with-plugins=csv,myisam,myisammrg,heap,innobase,archive,blackhole
在cmake中就需要单个的选项来进行控制

-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
(csv myisam myisammrg heap默认支持,可以用“ON”来替代数字1)

如果你想除去对某种引擎的支持,
在CMake编译选项中使用-DWITHOUT_<ENGINE>_STORAGE_ENGINE,
例如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1


编译安装其实默认安装了三部分:
1、mysql client 安装了客户端

2、mysql server 安装了服务端
3、mysql devel 安装了开发文件

完成配置
在源码目录下support-files目录里有很多配置文件的模版,
直接cp就能使用(当然可根据优化需求进行自己的修改配置)

cp /root/mysql-5.5.29/support-files/my-innodb-heavy-4G.cnf /etc/my.cnf
vim /etc/my.cnf
在[mysqld]里添加一行:skip-name-resolve = 1 (跳过域名解析,加快启动速度)

#创建启动脚本,cp后可以使用/etc/init.d/mysqlsource start启动
cp /root/mysql-5.5.29/support-files/mysql.server /etc/init.d/mysqlsource
chmod 755 /etc/init.d/mysqlsource
#初始化mysql
sh scripts/mysql_install_db --user=mysql--basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/


#错误日志文件位置(不是命令)
/usr/local/mysql/data/localhost.localdomain.err


#创建链接到标准路径下(修改环境变量指定,效果一样)

ln -s /usr/local/mysql/bin/* /usr/bin/
ln -s /usr/local/mysql/lib/* /usr/lib/
ln -s /usr/local/mysql/libexec/*  /usr/local/libexec
ln -s /usr/local/mysql/share/man/man1/* /usr/share/man/man1
ln -s /usr/local/mysql/share/man/man8/* /usr/share/man/man8
#启动mysql
/etc/init.d/mysqlsource start


#mysql的一些安全设置
mysql_secure_installation


Enter current password for root (enter fornone): 输入root密码,没有请回车
Set root password? [Y/n] 是否给root设置密码
Remove anonymous users? [Y/n] 是否移走匿名用户
Disallow root login remotely? [Y/n] 是否拒绝root远程登陆
Remove test database and access to it? [Y/n] 是否移走test库
Reload privilege tables now? [Y/n] 是否立即生效以上设置

附:
cmake配置mysql过程中一些主要的参数说明如下:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

#安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data \
#数据库存放目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \
#Unix socket 文件路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \
#安装 myisam 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
#安装 innodb 存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
#安装 archive 存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
#安装 blackhole 存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1 \
#安装数据库分区
-DENABLED_LOCAL_INFILE=1 \
#允许从本地导入数据
-DWITH_READLINE=1 \
#快捷键功能
-DWITH_SSL=yes \
#支持 SSL
-DDEFAULT_CHARSET=utf8 \
#使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci \
#校验字符
-DEXTRA_CHARSETS=all \
#安装所有扩展字符集
-DMYSQL_TCP_PORT=3306 \
#MySQL 监听端口
-DWIHT_ZLIB
#zlib支持

编译MySQL的新老参数对照表:

参数值说明配置选项CMak选项
TCP/IP端口--with-tcp-port-=3306-DMYSQL_TCP_PORT=3306
UNIX socket文件--with-unix-socket-path=/tmp/mysqld.sock-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock
启用加载本地数据--enable-local-infile-DENABLED_LOCAL_INFILE=1
扩展字符支持--with-extra-charsets=all(默认:all)-DEXTRA_CHARSETS=all(默认:all)
默认字符集--with-charset=utf8-DDEFAULT_CHARSET=utf8
默认字符校对--with-collation=utf8_general_ci-DDEFAULT_COLLATION=utf8_general_ci
Build the server--with-server
嵌入式服务器--with-embedded-server-DWITH_EMBEDDED_SERVER=1
libmysqld权限控制--with-embedded-privilege-control
安装文档--without-docs
Big tables支持--with-big-tables, --without-big-tables
mysqld运行用户--with-mysqld-user=mysql-DMYSQL_USER=mysql
调试模式--without-debug(默认禁用)-DWITH_DEBUG=0(默认禁用)
GIS支持--with-geometry
社区功能--enable-community-features
Profiling--disable-profiling(默认启用)-DENABLE_PROFILING=0(默认启用)
pstack--without-pstack无(新版移除该功能)
汇编字符串函数--enable-assembler
构建类型--build=x86_64-pc-linux-gnu没有等效参数
交叉编译主机--host=x86_64-pc-linux-gnu没有等效参数
客户端标志--with-client-ldflags=-lstdc++
线程安全标志--enable-thread-safe-client
注释存储类型--with-comment='string'-DWITH_COMMENT='string'
Shared/static binaries--enable-shared --enable-static
内存使用控制--with-low-memory
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Cmake安装Mysql