• linux下源码安装mariadb


    1.mariadb源码包下载地址:https://downloads.mariadb.org/

    2.安装mariadb是依赖包,创建mysql用户和目录:

          命令  yum -y install readline-devel zlib-devel openssl-devel libaio-deve ncurses-devel

          创建mysql的安装目录/usr/local/mysql  和数据库所在的目录 /data/mysql   命令 :mkdir  -p /usr/local/mysql  /data/mysql

          修改文件夹的属主和属组

          

     yum -y install readline-devel zlib-devel openssl-devel libaio-deve ncurses-devel gcc gcc-c++ cmake
    mkdir  -p /usr/local/mysql  /data/mysql
    useradd mysql -s /bin/nologin
    chown  -R mysql.mysql /data/mysql
    

    3.mariadb解压安装

    tar -xvf mariadb-10.2.14.tar.gz
    cd mariadb-10.2.14/
    
    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DMYSQL_DATADIR=/data/mysql \
    -DSYSCONFDIR=/etc \
    -DWITHOUT_TOKUDB=1 \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_ARCHIVE_STPRAGE_ENGINE=1 \
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
    -DWIYH_READLINE=1 -DWIYH_SSL=system \
    -DVITH_ZLIB=system \
    -DWITH_LOBWRAP=0 \
    -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/TokuSetupCompiler.cmake:179 (message)这样的错误,

          然后后面那些参数都是可选的,可以加也可以不加,最后的编码建议设置一下,所以编译指令也可以简化成下面这样:

          注意:如果万一执行中有了错误,可以执行: rm -f CMakeCache.txt    删除编译缓存,让指令重新执行,否则没次读取这个文件,命令修改正确也是报错  cmake没问题,可以编译并且安装了: make && make install 时间有点长,耐心等待

     4.mariadb安装完成过后执行

          

    cd /usr/local/mysql
    ll .
    chown -R mysql.mysql .
    scripts/mysql_install_db --datadir=/data/mysql --user=mysql #使用 `mysql` 用户执行脚本, 安装数据库到数据库存放目
    #chown -R root .
    mkdir /var/log/mariadb #创建日志目录
    ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock #scoket文件链接到my.cnf中所在的位置

    vim /etc/my.cnf

    5.启动mariadb    

    /usr/local/mysql/support-files/mysql.server start
    将/usr/local/mysql/bin设为环境变量,方便以后的操作
    cp support-files/mysql.server /etc/init.d/mysqld
    chkconfig --add mysqld   # 添加至系统服务
    chkconfig mysqld on    # 设置开机自启动

    现在如果启动可能会报错,原因是日志目录没有建立,默认是/var/log/mariadb/mariadb.log,后来也可以修改,现在执行: mkdir /var/log/mariadb 建立日志目录,然后执行: /etc/init.d/mysqld start 或者 systemctl start mysqld.service 都可以启动mysql服务

      启动服务后,还不能马上进入mysql shell界面,原因是刚才编译时执行本地socket为:/tmp/mysql.sock但是查看/etc/my.cnf中配置的位置却是:/var/lib/mysql/mysql.sock,现在执行命令: ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock 建立软链接即可

      为了方便可以将mysql目录添加到环境变量,现在可以执行 ./bin/mysql 直接进入MariaDB交互式界面了,默认root用户密码为空:

  • 相关阅读:
    kotlin实现流读取
    mongo注解详解
    spring 手动注册bean
    mongo 生命周期
    GC类型以及不同类型GC的搭配 1
    GC类型以及不同类型GC的搭配
    Kotlin的高阶函数和常用高阶函数
    通过JVM日志来进行安全点分析
    js中style.display=""无效的解决方法
    Web网页性能管理详解
  • 原文地址:https://www.cnblogs.com/both/p/8670194.html
Copyright © 2020-2023  润新知