美文网首页
mariadb编译安装详解

mariadb编译安装详解

作者: 扎啤 | 来源:发表于2017-09-22 21:51 被阅读0次

    1.数据库准备
    mariadb-5.5.57-linux-x86_64.tar.gz官方下载

    2.首先查看系统系统是否安装了mysql或旧版本mariadb

    [root@shaohua ~]#rpm -qa |grep mariadb
    mariadb-libs-5.5.52-1.el7.x86_64
    

    3.安装依赖包组

    yum install cmake
    yum groupinstall -y Development Tools
    yum install -y ncurses-devel
    yum install  -y  openssl-devel openssl  libevent 
    

    4.准备数据存放的文件系统
    添加一块硬盘20G的大小空间供其数据存放,磁盘大小依据数据存量划分即可,格式化后并挂载。具体划分挂载将不做演示

    [root@shaohua ~]#fdisk -l
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x1f6b5798
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048    41943039    20970496   83  Linux
    /dev/sdb1      ext4       22G   77M   20G   1% /mnt/mydata  ##数据存放目录
    
    

    4.新建用户以安全方式运行进程

    groupadd -r mysql  #创建组
    useradd -g mysql -r -s /sbin/nologin -M -d /mydata/data mysql 、
    chown -R mysql:mysql /mydata/data
    

    5.1编译安装,解压并进入目录,执行cmake

    tar zxf mariadb-10.1.22.tar.gz
    cd mariadb-10.1.22
    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR= /mnt/mydata -DSYSCONFDIR=/etc -DWITHOUT_TOKUDB=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
    

    说明:-DCMAKE_INSTALL_PREFIX是指定安装的位置,这里是/usr/local/mysql,-DMYSQL_DATADIR是指定MySQL的数据目录,这里是/data1/mysql,安装目录和数据目录都可以自定义设置,-DSYSCONFDIR是指定配置文件所在的目录,一般都是/etc ,具体的配置文件是/etc/my.cnf,-DWITHOUT_TOKUDB=1这个参数一般都要设置上,表示不安装tokudb引擎,tokudb是MySQL中一款开源的存储引擎,可以管理大量数据并且有一些新的特性,这些是Innodb所不具备的,这里之所以不安装,是因为一般计算机默认是没有Percona Server的,并且加载tokudb还要依赖jemalloc内存优化,一般开发中也是不用tokudb的,所以暂时屏蔽掉,否则在系统中找不到依赖会出现:CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompilerNaNake:179 (message)这样的错误,然后后面那些参数都是可选的,可以加也可以不加,最后的编码建议设置一下,所以编译指令也可以简化为上述这样;

    注意:如果万一执行中有了错误,可以执行: rm -f CMakeCache.txt 删除编译缓存,让指令重新执行,否则每次读取这个文件,命令修改正确也是报错
    make -j4
    make install
    cmake没问题,可以编译并且安装了: make && make install 时间有点长,耐心等待
    执行完成也就是安装完成了,现在执行 cd /usr/local/mysql/ 进入mysql安装目录分别执行下面命令:

    5.2初始化mysql-5.5.33

    cd /usr/local/mysql 
    chown -R mysql:mysql  .  #将该目录下包括子目录的owner都改为mysql
    scripts/mysql_install_db --user=mysql --datadir=/mnt/mydata/data
    chown -R root  .
    

    5.3为mysql提供主配置文件

    cp support-files/my-large.cnf  /etc/my.cnf
    并修改此文件中thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行:
    thread_concurrency = 2
    另外还需要添加如下行指定mysql数据文件的存放位置:
    datadir = /mnt/mydata/data
    

    5.4为mysql提供sysv服务脚本

    cd /usr/local/mysql
    cp support-files/mysql.server  /etc/rc.d/init.d/mysqld
    chmod +x /etc/rc.d/init.d/mysqld
    
    添加至服务列表:
     chkconfig --add mysqld
     chkconfig mysqld on
    
    添加PATH变量路径
    # vim /etc/profile.d/mysqld.sh 
    [root@shaohua ~/mariadb-5.5.57]#vim /etc/profile.d/mysqld.sh 
     export PATH=/usr/local/mysql/bin:$PATH
    . /etc/profile.d/mysqld.sh 
    启动服务
    systemctl start mysqld
    

    为了使用mysql的安装符合系统使用规范,并将其开发组件导入给系统使用,这里还需要进行如下步骤:

    6.输出mysql的man手册至man命令的查找路径

    编辑/etc/man.config,添加如下行即可:
        MANPATH  /usr/local/mysql/man
        编辑/etc/man_db.conf
        MANPATH_MAP /usr/local/mysql    /usr/local/mysql/man
    

    7.输出mysql的头文件至系统头文件路径/usr/include,可以通过简单的创建链接实现

    ln -sv /usr/local/mysql/include /usr/include/mysql

    8.输入mysql的库文件给系统库查找路径

    echo  '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf`
    [root@shaohua ~/mariadb-5.5.57]#vim /etc/ld.so.conf
    include ld.so.conf.d/*.conf
    让系统重新载入系统库:
    ldconfig
    
    [root@shaohua ~/mariadb-5.5.57]#mysql -u root
    Welcome to the MariaDB monitor.  Commands end with ; or \g.
    Your MariaDB connection id is 4
    Server version: 5.5.57-MariaDB Source distribution
    
    Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    MariaDB [(none)]> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
    
    MariaDB [(none)]> 
    

    相关文章

      网友评论

          本文标题:mariadb编译安装详解

          本文链接:https://www.haomeiwen.com/subject/avxqextx.html