• mariadb数据库的安装


    本文在centos7.x系统中安装mariadb数据库

    一:源码编译安装mariadb

      1:安装环境依赖的包,如下图

    [root@molson ~]# yum install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++  cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel -y
    

       

      2:准备用户和数据存放目录,如下

        

    [root@molson ~]# useradd -r -s /sbin/nologin -d  /data/mysql/  mysql
    [root@molson ~]# mkdir -pv /data/mysql
    mkdir: 已创建目录 "/data"
    mkdir: 已创建目录 "/data/mysql"
    [root@molson ~]# chown mysql.mysql /data/mysql -R
    

      

      3:上传源码包寄解压源文件并进入源码包目录,如下

    [root@molson src]# ll
    总用量 70232
    -rw-r--r--. 1 root root 71914588 4月   1 22:00 mariadb-10.2.23.tar.gz
    [root@molson src]# tar xf mariadb-10.2.23.tar.gz 
    [root@molson src]# ll
    总用量 70236
    drwxrwxr-x. 33 1001 1001     4096 3月  24 2019 mariadb-10.2.23
    -rw-r--r--.  1 root root 71914588 4月   1 22:00 mariadb-10.2.23.tar.gz
    [root@molson src]# cd mariadb-10.2.23
    [root@molson mariadb-10.2.23]# 
    

      

        4:Cmake编译安装,如下图 

    [root@molson mariadb-10.2.23]# cmake -DCMAKE_INSTALL_PREFIX=/app/mysql -DMYSQL_DATADIR=/data/mysql/  -DSYSCONFDIR=/etc/   -DMYSQL_USER=mysql -DWITH_INNOBASE_STORAGE_ENGINE=1  -DWITH_ARCHIVE_STORAGE_ENGINE=1  -DWITH_BLACKHOLE_STORAGE_ENGINE=1  -DWITH_PARTITION_STORAGE_ENGINE=1   -DWITHOUT_MROONGA_STORAGE_ENGINE=1  -DWITH_DEBUG=0  -DWITH_READLINE=1  -DWITH_SSL=system  -DWITH_ZLIB=system  -DWITH_LIBWRAP=0  -DENABLED_LOCAL_INFILE=1   -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DWITHOUT_TOKUDB=1
    

      

         CMake编译完成,如下图

          

       再执行make && make install 指令完成编译,如下:

      

    [root@molson mariadb-10.2.23]# make && make install
    

      5:配置环境变量并生效,如下

    [root@molson mariadb-10.2.23]# echo 'PATH=/app/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
    [root@molson mariadb-10.2.23]# .  /etc/profile.d/mysql.sh
    

      6:生成数据库文件,如下

      

    [root@molson ~]# cd /app/mysql
    [root@molson mysql]# scripts/mysql_install_db --datadir=/data/mysql/ --user=mysql
    Installing MariaDB/MySQL system tables in '/data/mysql/' ...
    OK
    。。。
    。。。
    。。。
    The latest information about MariaDB is available at http://mariadb.org/.
    You can find additional information about the MySQL part at:
    http://dev.mysql.com
    Consider joining MariaDB's strong and vibrant community:
    https://mariadb.org/get-involved/
    

      

      7:准备配置文件,如下

      

    [root@molson mysql]# cp /app/mysql/support-files/my-huge.cnf  /etc/my.cnf
    

      

     8:准备启动脚本,如下

      

    [root@molson ~]# cp /app/mysql/support-files/mysql.server  /etc/init.d/mysqld
    

      

      

     9:启动数据库,如下 

    [root@molson ~]# chkconfig --add mysqld
    [root@molson ~]# service mysqld start
    Starting mysqld (via systemctl):                           [  确定  ]
    

     10:登录并验证数据库,如下

      

       

     

       由此上图可知,源码编译的mariadb数据库安装成功!

     二:二进制安装mariadb数据库

       1:准备用户,如下

    [root@molson ~]# groupadd -r -g 306 mysql
    [root@molson ~]# useradd -r -g 306 -u 306 –d /data/mysql mysql
    

      2:准备数据目录,如下

      

    [root@molson ~]# mkdir /data/mysql -p
    [root@molson ~]# chown mysql:mysql /data/mysql
    

      3:上传二进制程序并放入到/usr/local目录中并解压,创建软连接并授权,如下

    [root@molson local]# tar xf mariadb-10.2.23-linux-x86_64.tar.gz 
    [root@molson local]# ln -sv mariadb-10.2.23-linux-x86_64 mysql
    "mysql" -> "mariadb-10.2.23-linux-x86_64"
    [root@molson local]# chown -R root:mysql /usr/local/mysql/

      4:准备配置文件,如下

    [root@molson local]# mkdir /etc/mysql
    [root@molson mysql]# cp support-files/my-large.cnf  /etc/mysql/my.cfg
    

      并在/etc/mysql/my.cfg配置文件中添加如下内容,如下

    [mysqld]中添加三个选项:
    datadir= /data/mysql
    innodb_file_per_table= on
    skip_name_resolve= on    禁止主机名解析,建议使用
    

      如下图:

      

     5:创建数据库文件,如下 

    [root@molson mysql]# cd /usr/local/mysql/
    [root@molson mysql]# ./scripts/mysql_install_db  --datadir=/data/mysql --user=mysql
    

      

     6:准备服务脚本并启动,如下

      

    [root@molson mysql]# cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
    [root@molson mysql]# chkconfig --add mysqld

     [root@molson init.d]# service mysqld start

      注意:在这步启动的过程中很容易出错的,见如下报错的图片

      

      上图为服务启动失败

      

      上图为查看启动失败的原因,

      综上错误的原因及分析启动脚本,其中一个是mysql的配置文件没有设置启动用户为mysql,另外一个就是Mysql启动脚本的大坑,我参照mysql5.5中的wait_for_ready ()进行更改,启动服务成功,见下图

        

      

         修改后,执行systemctl daemon-reload命令,再重启服务,启动成功,如下图

           

      

    7:添加环境变量,如下

      

    [root@molson mysql]#  echo ‘PATH=/user/local/mysql/bin:$PATH’ > /etc/profile.d/mysql.sh

    8:安全初始化,如下

      

    [root@molson mysql]#  /usr/local/mysql/bin/mysql_secure_installation

      注意:执行上述安全初始化的时候,有时候会报错的,如下图

      

           主要原因就是把socker的文件放在/tmp/mysql.sock目录中了,这是centos系统默认的,更改到socket = /var/lib/mysql/mysql.sock就可以,如下:

      

    socket = /var/lib/mysql/mysql.sock
    

      

        至此,二进制mariadb服务安装成功

      这个点了,可以准备睡觉了----00:19:31

     

  • 相关阅读:
    mssql索引视图无法对视图创建 索引,因为该视图未绑定到架构
    说说回车键触发表单提交的问题
    在C#中使用SqlDbType.Xml类型参数
    使用nginx实施负载均衡
    SQL Server 索引中include的魅力(具有包含性列的索引)
    群发“站内信”的实现
    ORM映射框架总结终极JSON
    51 地图基本接口(二)
    通用短信平台接口
    ORM映射框架总结Flash 处理
  • 原文地址:https://www.cnblogs.com/molson/p/13655166.html
Copyright © 2020-2023  润新知