lamp之编译安装mysql
cmake 跨平台编译器:
cmake指定编译选项的方式不同于make,其实现方式对比如下:
./configure --> cmake .
./configure --help --> cmake . -LH
mysql
0.创建mysql用户和相关组:
#groupadd -r -g 306 mysql
#useradd -r -u 306 -g 306 mysql -s /sbin/nologin
1.创建数据库分区并挂载:
#fdisk /dev/sdb
n
p
1
t
8e
w
#partprobe
#pvcreate /dev/sdb1
#vgcreate myvg /dev/sdb1
#lvcreate -n sqld -L 10G myvg
#mke2fs -j /dev/myvg/sqld
#mkdir /sqld
#vim /etc/fstab
/dev/mapper/myvg/sqld /sqld ext3 defaults 0 0
#mount -a
#mkdir /sqld/mdata
#chown -R mysql:mysqsl /sqld/mdata
#chmod 755 /sqld/mdata
mysql数据所在位置:/sqld/mdata
2.编译安装
使用cmake工具进行编译。
0.安装cmake和boost(4.7用)和ncurses-devel
#tar -xf boost-xxx.tar.bz2
#cd /usr/local
#mv boost-xxx boost
#cd boost
#./bootstrap
#./b2 install
#vim /etc/profile.d/boost.sh
export BOOST_INCLUDE=/usr/include/boost
export BOOST_LIB=/usr/local/bin
boost默认安装在/usr/local/include
#tar -xf cmake.xxx.tar.gz
#cd cmake-xxx
#./bootstrap
#make && make install
#vim /etc/profile.d/cmake.sh
export PATH=$PATH:/usr/local/cmake
默认cmake是安装在/usr/local/bin/cmake下。
#yum -y install ncurses-devel
1.编译安装mysql
# tar xf mysql-xxx.tar.gz
# cd mysql-xxx
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysqlXX -DMYSQL_DATADIR=/sqld/mdata -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
#cmake . -LH 获取当前cmake的配置信息
# make
# make install
如果想清理此前的编译所生成的文件,则需要使用如下命令:
#make clean
#rm CMakeCache.txt
编译选项详解:
路径相关:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql mysql安装路径
-DMYSQL_DATADIR=/mydata/data 默认数据路径
-DSYSCONFDIR=/etc 配置文件路径
存储引擎:
默认编译的存储引擎包括:csv、myisam、myisammrg和heap。若要安装其它存储引擎,可以使用类似如下编译选项:
-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
其他功能:
如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
-DWITH_SSL=system 启用基于ssl的功能
-DWITH_ZLIB=system 启用zlib压缩库
-DWITH_LIBWRAP=0 不启用访问控制功能。
-DWITH_BOOST=/usr/local/boost 指定boost位置
其它常用的选项:
-DMYSQL_TCP_PORT=3306 默认端口
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock 默认套接字路径
-DENABLED_LOCAL_INFILE=1 启用loadinfile的方式。
-DEXTRA_CHARSETS=all 启用字符集支持。
-DDEFAULT_CHARSET=utf8 指定默认字符集
-DDEFAULT_COLLATION=utf8_general_ci 指定默认的字符集排序规则。
-DWITH_DEBUG=0 不启用debug功能。
-DENABLE_PROFILING=1 启用性能分析功能。
3.创建软链接,方便多版本并存。同时将文件夹的属组改回mysql,避免安全性问题。
#ln -sv /usr/local/mysqlXX /usr/local/mysql
#chown -R :mysql /usr/local/mysqlXX/
4.添加环境变量:
#vim /etc/profile.d/mysql.sh
export PATH=$PAHT:/usr/local/mysql/bin
5.添加man文档路径
#vim /etc/man_db.conf
MANDATORY_MANPATH /usr/local/mysql/man
6.添加库文件。
#vim /etc/ld.so.conf.d/mysql.conf
/usr/local/mysql/lib
#ldconfig -v 系统重新建立库文件缓存,缓存文件为/etc/ld.so.cache
7.添加头文件:
#ln -sv /usr/local/mysql/include /usr/include/mysql
8.初始化mysql:
#cd /usr/local/mysql
#scripts/mysql_install_db \
>--user=mysql 指定以某个用户的身份运行mysqld。
>--datadir=/sqld/mdata 指定mysql数据库的位置。默认放在/usr/local/mysql/mdata下。
9.复制服务脚本:
#cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
10.编辑mysql配置文件
#vim /usr/local/mysql/my.cnf
thread_concurrency=8 线程并发量,cpu的个数*2
datadir=/sqld/mdata/ 指定数据位置。
注意:配置文件/usr/local/mysql/my.cnf的优先级最高,可以选择复制到/etc中替换,也可以删除/etc/my.cnf后直接使用。
11.启动服务:
#systemctl start mysqld
本文出自 “小私的blog” 博客,请务必保留此出处http://ggvylf.blog.51cto.com/784661/1654511
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。