数据库(MySQL)二进制安装+编译安装 + MariaDB编译安装

配置文件:
    my.cnf
        [mysql] :只用于mysql这个客户端

        [mysqld]

        [client]:共享与所有客户端,如mysqldump等




MySQL二进制包安装:(在 mysql/下有个 INSTALL-BINARY 是安装教程)
    1、下载通用二进制安装包 mysql-5.5.33-linux2.6-x86.64.tar.gz(区分rpm包和二进制包)

    2、tar xf  mysql--- -C /usr/local/

    3、创建一个连接
        ln sv mysql-5.5.33 mysql
        创建用户,组
        groupadd -r mysql
        useradd -g mysql -r -s /sbin/nologin mysql
    4、cd /usr/local/mysql

        chown -R root.mysql ./*

    5、分离数据存放位置:逻辑卷 +raid {1,10}

        默认数据目录在安装目录下的data/下

        创建分区:
            fdisk dev/sdb1

        创建逻辑卷
            pvcreate /dev/sdb1
            vgcreate mydata /dev/sdb1
            lvcreate -L 6G -n mysqldata mydata

            mke2fs -t ext4 /dev/mydata/mysqldata

            vim /etc/fstab:
                /dev/mydata/mysqldata  /data/

            mkdir /data/
             
            mount -a

            mkdir /data/mydata/  --用来存放数据,且修改属主属组

            chown -R mysql.mysql /data/mydata


    6、初始化 mysql/scripts/mysql_install_db --help ------> 系统库,管理各种表,属性,用户权限等

        mysql/scripts/mysql_install_db --datadir=/data/mydata --user=mysql

        choown  -R root mysql/*
    7、服务脚本

        cp   support_files/mysql-server  ---> /etc/rc.d/init.d/mysqld

        chkconfig --add mysqld

        chkconfig --list mysqld
    8、提供配置文件:
        support_files/....cnf

        cp my-large.cnf /etc/my.cnf

        vim my.cnf 
            datadir=/data/mydata
            thread_concurrebcy = 4(管理的线程数)

    9、启动服务器端

    10、客户端
        bin/mysql

        添加 环境变量
            vim /etc/profile.d/mysql.sh
                export PATH=/usr/local/mysql/bin:$PATH

                如果不想让一些用户执行,可以加一些判断


                . /etc/profile.d/mysql.sh   source 一下

    11、导出库,头文件:
        ln -sv /usr/local/mysql/include/ /usr/include/mysql

        ls mysl/lib:
            vim /etc/ld.so.conf.d/mysql.conf
                /usr/local/mysql

        执行:ldconfig:将库导入一下

    12、ls mysql/man
            vim /etc/man.config

            MANPATH /usr/local/mysql/man




编译安装MySQL-5.5

cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。

编译安装MySQL-5.5


一、安装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 --help    cmake . -LH or ccmake .



指定安装文件的安装路径时常用的选项:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/data/mysql
-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
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1

如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0

其它常用的选项:
-DMYSQL_TCP_PORT=3306
-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



如果想清理此前的编译所生成的文件,则需要使用如下命令:
make clean
rm CMakeCache.txt


2、编译安装

# groupadd -r mysql
# useradd -g mysql -r -d /mydata/data 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


# 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


3、创建用户和组

4、创建目录 /mydata/data

    chown -R :mysql /usr/local/mysql/* 

5、初始化
        
6、提供服务脚本

7、 和上面一样了



    默认启动mysqld_safe

        

 

posted @ 2018-10-29 09:45  JerryZao  阅读(295)  评论(0编辑  收藏  举报