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

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