• Linux安装mariadb二进制版本


      上一篇说了mariadb编译安装过程,但在生产环境中一般使用发布好的二进制版本,由于安装过程和之前一样,不再详细叙述,只是简单概括一下安装过程:

      1. 下载 地址为:https://downloads.mariadb.org/

      这里选择最新版本的10.1.19稳定版,进入后根据计算机位数选择,这里下载适用于64位操作系统的Linux x86_64版本

      

      这里下载包含glibc和不包含glibc的都是可以的,如果下载包含glibc的,那么系统的glibc版本要满足要求,这里要大于2.14,一般系统是可以满足的

      下载之后上传到服务器准备安装

      2. 释放安装包 假设安装位置是/usr/local/mariadb 包名为:mariadb-10.1.19-linux-x86_64.tar.gz

    tar -xvzf mariadb-10.1.19-linux-x86_64.tar.gz
    mv mariadb-10.1.19-linux-x86_64 /usr/local/mariadb/
    cd /usr/local/mariadb

      注意不要提前建立/usr/local/mariadb目录,直接放过去即可

      3. 相关配置

      备份原有mysql配置: mv /etc/my.cnf /etc/my.cnf.bak 

      在mariadb安装目录下的support-files有好几种配置模板,已经配置好的部分参数,分别用于不同的环境,这里简要说明一下:

      my-small.cnf 这个是为小型数据库或者个人测试使用的,不能用于生产环境

      my-medium.cnf 这个适用于中等规模的数据库,比如个人项目或者小型企业项目中,

      my-large.cnf 一般用于专门提供SQL服务的服务器中,即专门运行数据库服务的主机,配置要求要更高一些,适用于生产环境

      my-huge.cnf 用于企业级服务器中的数据库服务,一般更多用于生产环境使用

      所以根据以上几个文件,如果个人使用或者测试,那么可以使用前两个模板;企业服务器或者64G以上的高配置服务器可以使用后面两个模板,另外也可以根据自己的需求来加大参数和扩充配置获得更好的性能

      这里暂时使用my-small.cnf,复制配置文件: cp support-files/my-small.cnf /etc/my.cnf  

      编辑配置文件: vim /etc/my.cnf 在[mysqld]块中添加basedir全局目录将默认的数据目录,日志目录,pid文件都放置在basedir目录下,配置如下:

    basedir = /usr/local/mariadb

      

      配置完成,保存并退出

      初次安装,要创建mysql用户和组,并给当前目录赋予权限:

    groupadd mysql
    useradd -r -g mysql -s /sbin/nologin mysql
    chown -R mysql .
    chgrp -R mysql .

      然后执行初始化安装: ./scripts/mysql_install_db --user=mysql 

      调整权限:

    chown -R root .
    chown -R mysql data/

      启动脚本: bin/mysqld_safe --user=mysql & 

      添加mysql到系统服务目录: cp support-files/mysql.server /etc/init.d/mysqld 

      如果是之前安装过mysql,那么现在就已经启动了,第一次安装需要手动启动服务: /etc/init.d/mysqld start 

      添加mysqld到系统服务,随系统一起启动: chkconfig mysqld on 

      查看mysql服务运行状态: systemctl status mysqld.service 

      后续的所有的操作和之前mysql就完全一致了

           另外有一点要注意就是在redhat8系统上执行mysql进入客户端时可能会提示找不到libncurses.so的错误这个时候只需要安装一下开发包就可以了,安装的命令为: yum install libncurses* ,安装成功之后再次进入就可以了. 

  • 相关阅读:
    SEM关键词的三种分类方式
    分分钟解决 MySQL 查询速度慢与性能差
    为什么notify(), wait()等函数定义在Object中,而不是Thread中
    wait(), notify(), notifyAll()等方法介绍
    Java中的Volatile和synchronized的区别
    史上最简单的 SpringCloud 教程
    如何用git将项目代码上传到github
    常见排序
    【CodeForces】9B-Running Student
    【CodeForces】9A-Die Roll
  • 原文地址:https://www.cnblogs.com/freeweb/p/6088206.html
Copyright © 2020-2023  润新知