zoukankan      html  css  js  c++  java
  • Linux九阴真经之九阴白骨爪残卷7(Mariadb的三种安装方法)

    Mariadb 的安装方法

     

    一、yum安装

    二、编译安装

    三、二进制安装

    一、yum安装方法


    1、yum直接安装,也可以登录官网,指定新版(10.2)安装

    https://downloads.mariadb.org/mariadb/repositories/#mirror=neusoft

    2、选择centos 64位 的版本


    3、添加yum 源

    [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/10.2/centos7-amd64
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1

    4、安装 MariaDB-server

    [root@centos7 ~]#yum install MariaDB-server

    5、启动并测试

    [root@centos6 mysql]# service mysqld start
    [root@centos6 mysql]# mysql  #连接成功则说明OK!

    二、编译安装方法

    1、首先安装多个程序包

    [root@centos7 ~]

    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

    提示:如果出错,执行rm -f CMakeCache.txt

    2、将源码包复制到系统中,并解压 到当前目录

    源码包下载方法

    wget https://downloads.mariadb.org/interstitial/mariadb-10.2.15/source/mariadb-10.2.15.tar.gz/from/http%3A//sfo1.mirrors.digitalocean.com/mariadb/
    [root@centos7 ~]#tar xvf mariadb-10.2.15.tar.gz 

    3、创建一个系统用户mysql 

    [root@centos7 ~]#useradd -r -s /sbin/nologin mysql

    4、指定数据库存放路径;我们在/date 目录下创建一个mysqld的目录,并设置权限

    [root@centos7 ~]#mkdir -pv /date/mysqld
    [root@centos7 ~]#chmod 770 /date/mysqld/

    5、进入刚刚我们解压缩后的目录,开始编译安装

    [root@centos7 ~]#cd mariadb-10.2.15/
    cmake .
    -DCMAKE_INSTALL_PREFIX=/date/mysql 数据库安装路径 -DMYSQL_DATADIR=/date/mysqld/ 数据库路径 -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=/app/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

    6、执行make -j 4 &&  make  install 

    7、配置环境变量、修改软件安装目录权限

    [root@centos7 mariadb-10.2.15]#echo PATH=/date/mysql/bin:$PATH > /etc/profile.d/mysql.sh
    [root@centos7 mariadb-10.2.15]#. /etc/profile.d/mysql.sh
    [root@centos7 mariadb-10.2.15]#setfacl -R -m u:mysql:rwx /date/mysql

    8、初始化数据库,提供配置文件,提供服务启动脚本 

    [root@centos7 mysql]#scripts/mysql_install_db  --datadir=/date/mysqld/ --user=mysql --basedir=/date/mysql/
    Installing MariaDB/MySQL system tables in '/date/mysqld/' ...
    OK

    [root@centos7 mysql]#cp support-files/my-huge.cnf /etc/my.cnf
    [root@centos7 mysql]#cp support-files/mysql.server  /etc/init.d/mysqld
    cp: overwrite ‘/etc/my.cnf’? y

    修改配置文件里 

    制作启动脚本

    [root@centos7 mysql]#ll /etc/init.d/mysqld
    -rwxr-xr-x 1 root root 12239 Jun  5 13:52 /etc/init.d/mysqld
    [root@centos7 init.d]#chkconfig --add mysqld

    9、启动并测试

    [root@centos7 init.d]#service mysqld start
    [root@centos7 mysql]#mysql #连接成功说明实验成功!

      

    三、官方二进制包安装MariaDB-server


    1、下载二进制包

    # wget https://downloads.mariadb.org/interstitial/mariadb-10.2.15/bintar-linux-x86_64/mariadb-10.2.15-linux-x86_64.tar.gz/from/http%3A//sfo1.mirrors.digitalocean.com/mariadb/

    2、创建组和用户

    [root@laobai ~#useradd -r -d /date/mysqldb -s /sbin/nologin mysql

    3、解压软件包到固定目录内并修改权限

    [root@laobai ~#tar -xvf mariadb-10.2.15-linux-x86_64.tar.gz -C /usr/local

      [root@laobai /usr/local#chown -R root:root mysql/  #将mysql目录内文件的所有者和所属组都为root

      

    [root@laobai /usr/local#setfacl -R -m u:mysql:rwx mysql/   #给mysql读写执行的权限对于 mysql目录
    [root@laobai /usr/local#echo PATH=/usr/local/mysql/bin:$PATH > /etc/profile.d/mysql.sh   #将PATH变量放到配置文件里,使其生效。

    [root@laobai /usr/local#. /etc/profile.d//mysql.sh  
    [root@laobai /usr/local#echo $PATH

    4、添加一块硬盘,设置为逻辑卷

    [root@laobai /usr/local#echo '- - -' > /sys/class/scsi_host/host2/scan
    [root@laobai /usr/local#pvcreate /dev/sdc      #创建物理卷
    [root@laobai /usr/local#vgcreate vg0 /dev/sdc  #创建vg0的逻辑卷组并将硬盘加入此卷组
      Volume group "vg0" successfully created
    [root@laobai /usr/local#lvcreate -n lv_mysql -l 100%FREE vg0   #创建逻辑卷 为lv_mysql 并且空间用完

      [root@laobai /usr/local#lvs
      LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
      lv_mysql vg0 -wi-a----- 200.00g

      [root@laobai /usr/local#mkfs.ext4 /dev/vg0/lv_mysql

    5、设置开机自动挂载

    vim /etc/fstab

    [root@laobai /usr/local#mount -a
    [root@laobai /usr/local#df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 50264772 6743996 40960776 15% / tmpfs 502056 76 501980 1% /dev/shm /dev/sda1 999320 34920 911972 4% /boot /dev/sda3 30106576 44976 28525600 1% /date /dev/sr0 3878870 3878870 0 100% /media/CentOS_6.9_Final /dev/mapper/vg0-lv_mysql 206289592 60684 195743356 1% /data

    6、创建数据库存放目录

    [root@laobai /usr/local#mkdir /data/mysqldb  #创建数据库存放目录
    [root@laobai /usr/local#ll -d /data/mysqldb    #查看目录
    drwxr-xr-x 2 root root 4096 May 31 08:15 /data/mysqldb
    [root@laobai /usr/local#chown mysql.mysql /data/mysqldb/  #设置mysqldb文件夹的所有者和所属组为 mysql
    [root@laobai /usr/local#chmod 770 /data/mysqldb/

    7、提供配置文件

    [root@laobai /usr/local/mysql#cp /etc/my.cnf{,.bak}   #备份配置文件
    [root@laobai /usr/local/mysql#cp support-files/my-huge.cnf /etc/my.cnf  #复制超大生产环境时所使用的my-huge.cnf配置文件(1-2G)  到配置文件目录并改名为my.cnf
    [root@laobai /usr/local/mysql#vim /etc/my.cnf

    8、提供启动服务脚本

    [root@laobai /usr/local/mysql#scripts/mysql_install_db --datadir=/data/mysqldb/ --user=mysql   #运行scripts下的脚本(必须在mysqldb目录下)生成指定目录下的配置文件
    [root@laobai /usr/local/mysql#cp support-files/mysql.server /etc/init.d/mysqld  #复制mysql服务至启动文件
    [root@laobai /usr/local/mysql#chkconfig --add mysqld   # 创建启动任务
    [root@laobai /usr/local/mysql#chkconfig mysqld on

    9、启动服务并测试

    [root@centos6 mysql]# service mysqld start
    [root@centos6 mysql]# mysql  #连接成功则说明OK!

    四、多实例安装

    在一台物理机中需要多个测试环境,那么就需要用到了搭建数据库的多个实例,多个实例的意思就是运行多份程序,实例与实例之间没有影响。要注意监听的端口需要不同。

    环境:CentOS7.4,编译安装MariaDB-10.2.15版本,软件安装目录:/app/mysql/

    1、创建运行目录环境

    [root@centos7 ~]#mkdir /mysqldb/{3306,3307,3308}/{etc,socket,pid,log,data} -pv 
    [root@centos7 ~]#chown -R mysql.mysql /mysqldb/ #

    2、生成数据库

    [root@centos7 ~]#mysql_install_db  --datadir=/mysqldb/3306/data --user=mysql
    [root@centos7 ~]#mysql_install_db  --datadir=/mysqldb/3307/data --user=mysql
    [root@centos7 ~]#mysql_install_db  --datadir=/mysqldb/3308/data --user=mysql

    3、生成配置文件并修改

    [root@centos7 ~]#cp /etc/my.cnf /mysqldb/3306/etc/
    [root@centos7 ~]#cp /etc/my.cnf /mysqldb/3307/etc/
    [root@centos7 ~]#cp /etc/my.cnf /mysqldb/3308/etc/
    [root@centos7 ~]#vim /mysqldb/3306/etc/my.cnf  # 修改配置文件

    将 3307和3308 例的配置文件像上图一样 修改

    4、制作并修改服务启动脚本(mysqld启动脚本事先已做好,复制到根目录,端口号为3306)

    [root@centos7 ~]# cat mysqld  #脚本示例
    #!/bin/bash
    
    port=3306  #需要修改为当前实例的端口号
    mysql_user="root"
    mysql_pwd=""
    cmd_path="/app/mysql/bin"  #安装目录下的bin
    mysql_basedir="/mysqldb"  #实例数据库文件所在目录
    mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock"
    
    function_start_mysql()
    {
        if [ ! -e "$mysql_sock" ];then
          printf "Starting MySQL...
    "
          ${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/my.cnf  &> /dev/null  &
        else
          printf "MySQL is running...
    "
          exit
        fi
    }

    复制启动脚本至 

    [root@centos7 ~]#cp mysqld /mysqldb/3306/
    [root@centos7 ~]#cp mysqld /mysqldb/3307/
    [root@centos7 ~]#cp mysqld /mysqldb/3308/
    [root@centos7 ~]#vim/mysqldb/3308/mysqld   #修改3307和3308的端口号,

    注意:/mysql/3306-8里的 mysql 脚本 以及 文件夹内etc/my.cnf 里面都要添加端口号,不然端口起不来

    5、启动服务

    [root@centos7 ~]# service mysqld stop  #保证自己原来的服务停止,释放3306端口
    [root@centos7 ~]# /mysqldb/3306/bin/mysqld start  #启动服务
    [root@centos7 ~]# /mysqldb/3307/bin/mysqld start
    [root@centos7 ~]# /mysqldb/3308/bin/mysqld start
    [root@centos7 ~]# ss -tnl  #如果看到三个实例监听的端口都打开后说明服务启动正常
    LISTEN 0 80 :::3306 :::*
    LISTEN 0 80 :::3307 :::*
    LISTEN 0 80 :::3308 :::*

    6、连接测试

    [root@centos7 ~]# mysql -S /mysqldb/3306/socket/mysql.sock  #使用-S指定套接字文件
    Server version: 10.2.15-MariaDB-log Source distribution
    MariaDB [(none)]> show variables like '%port';  #查看端口是否是3306
    +---------------------+-------+
    | Variable_name       | Value |
    +---------------------+-------+
    | extra_port          | 0     |
    | large_files_support | ON    |
    | port                | 3306  |
    | report_port         | 3306  |
    +---------------------+-------+
    4 rows in set (0.00 sec)
    
    [root@centos7 ~]# mysql -S /mysqldb/3307/socket/mysql.sock  #再连接测试一下3307和3308
    Server version: 10.2.15-MariaDB-log Source distribution
    MariaDB [(none)]> show variables like '%port';
    +---------------------+-------+
    | Variable_name       | Value |
    +---------------------+-------+
    | extra_port          | 0     |
    | large_files_support | ON    |
    | port                | 3307  |
    | report_port         | 3307  |
    +---------------------+-------+
    4 rows in set (0.00 sec)
    
    [root@centos7 ~]# mysql -S /mysqldb/3308/socket/mysql.sock
    Server version: 10.2.15-MariaDB-log Source distribution
    MariaDB [(none)]> show variables like '%port';
    +---------------------+-------+
    | Variable_name       | Value |
    +---------------------+-------+
    | extra_port          | 0     |
    | large_files_support | ON    |
    | port                | 3308  |
    | report_port         | 3308  |
    +---------------------+-------+
    4 rows in set (0.00 sec)

    多实例搭建成功!

    6、停止实例

    /mysqldb/3306/mysqld stop

    [root@centos7 ~]# cat mysqld #脚本示例#!/bin/bashport=3306 #需要修改为当前实例的端口号mysql_user="root"mysql_pwd=""cmd_path="/app/mysql/bin"#安装目录下的binmysql_basedir="/mysqldb"#实例数据库文件所在目录mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock"function_start_mysql(){if [!-e"$mysql_sock" ];thenprintf"Starting MySQL... "${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/my.cnf &> /dev/null &elseprintf"MySQL is running... "exitfi}

  • 相关阅读:
    免费获取pptv会员
    LNMP环境包安装IonCube教程
    linux系统lnmp环境包搬家教程
    进入网站自动加自己为QQ好友代码
    vip视频解析接口
    CF使用TGP下载后,分卷文件损坏的解决方法
    体育赛事
    浅谈thinkphp中将字符串转换成json数组的方法
    android ANR问题
    android 单例模式
  • 原文地址:https://www.cnblogs.com/huxiaojun/p/9138609.html
Copyright © 2011-2022 走看看