zoukankan      html  css  js  c++  java
  • mariadb源码编译安装及多实例

    准备文件源文件/app/mariadb-10.2.12.tar.gz

    cd /app/

    tar xf mariadb-10.2.12.tar.gz

    cd  mariadb-10.2.12

    mkdir /mysqldb

    cmake .
    -DCMAKE_INSTALL_PREFIX=/app/mysql             主程序目录
    -DMYSQL_DATADIR=/mysqldb/       数据库目录
    -DSYSCONFDIR=/etc                     配置文件目录
    -DMYSQL_USER=mysql           指定的所属用户
    -DWITH_INNOBASE_STORAGE_ENGINE=1
    -DWITH_ARCHIVE_STORAGE_ENGINE=1
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1
    -DWITH_READLINE=1
    -DWITH_SSL=system
    -DWITH_ZLIB=system
    -DWITH_LIBWRAP=0
    -DMYSQL_UNIX_ADDR=/app/mysql/mysql.sock
    -DDEFAULT_CHARSET=utf8
    -DDEFAULT_COLLATION=utf8_general_ci
    -DENABLED_LOCAL_INFILE=1
    -DWITH_PARTITION_STORAGE_ENGINE=1
    -DWITH_DEBUG=0
    -DWITHOUT_MROONGA_STORAGE_ENGINE=1

      安装development tools,gnutls-devel,ncurses-devel, cmake,ibaio-devel,openssl-devel,libxml2-devel组件,减少报错

      发生错误,需要删除文件夹,重新解压,再安装

    make & make install

    echo 'PATH=/app/mysql/bin/:$PATH' > /etc/profile.d/mysql.sh    将脚本路径写入

    /app/mysql/scripts/mysql_install_db  --basedir=/app/mysql --datadir=/mysqldb/3306/data --user=mysql   制作数据库,指定mysql的用户

    cp /app/mysql/support-files/my-huge.cnf  /etc/my.cnf   重新制作配置文件,以huge.cnf模板文件修改

      vim /etc/my.cnf    

      datadir=/mysqldb/3306/data            在[mysqld]下面添加行,位置不要错

    cp /app/mysql/support-files/mysql.server  /etc/init.d/mysqld 

      chkconfig --add mysqld

      chown -R mysql.mysql /mysqldb/3306/

      chgrp -R mysql /app/mysql/

      chmod 775 /app/mysql/         重点!! 因为启动服务要在路径下创建sock为文件,如果没有权限会报错,启动失败

    第二个实例安装:

      /app/mysql/scripts/mysql_install_db  --basedir=/app/mysql --datadir=/mysqldb/3307/data --user=mysql     安装数据库

      cp /etc/my.cnf    /mysqldb/3307          

      vim /mysqldb/3307/my.cnf      制作配置文件

        将所有的3306改为3307  

      [mysql_safe]                 在文件最下面增加日志文件路径
      log-error=/mysqldb/3307/mariadb.log
      pid-file=/mysqldb/3307/mariadb.pid

      vim /mysql/3307/mysqld        添加启动脚本,修改其中的路径项

    #!/bin/bash
    rt=3307
    mysql_user="root"
    mysql_pwd=""
    cmd_path="/app/mysql/bin"
    mysql_basedir="/mysqldb"
    mysql_sock="${mysql_basedir}/${port}/mysql.sock"
    
    function_start_mysql()
    {
            if [ ! -e "$mysql_sock" ];then
                    printf "Starting MySQL...
    "                
              ${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/my.cnf &> /dev/null & else printf "MySQL is running... " exit fi } function_stop_mysql() { if [ ! -e "$mysql_sock" ];then printf "MySQL is stopped... " exit else printf "Stopping MySQL.. " ${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown fi } function_restart_mysql() { printf "Restarting MySQL... " if [ ! -e "$mysql_sock" ];then function_start_mysql exit fi function_stop_mysql sleep 2 function_start_mysql } case $1 in start) function_start_mysql ;; stop) function_stop_mysql ;; restart) function_restart_mysql ;; *) printf "Usage: ${mysql_basedir}/${port}/bin/mysqld {start|stop|restart} " esac

      chmod 700 /mysqldb/3307/mysqld

      /mysqldb/3307/mysqld  start   

      失败/

      原因是/mysqldb/3307所属组为root,mysql用户没有写权限

      解决:chown  -R mysql.mysql /mysqldb/ 

      再启动成功

      在不能启动的时候可以手动输入路径启动查看项目在哪一步出问题

      /app/mysql/bin/mysqld_safe  --defaults-file=/mysqldb/3307/my.cnf   

    第三个实例的安装:

      /app/mysql/scripts/mysql_install_db  --basedir=/app/mysql --datadir=/mysqldb/3308/data --user=mysql     制作数据库文件

      chown -R mysql.mysql /mysqldb/

      cp /mysqldb/3307/{mysqld,my.cnf}  /mysqldb/3308/

      vim mysqld   修改端口号为3308

      vim my.cnf    修改端口号为3308

      /mysqldb/3308/mysqld start   

       

    在my.cnf里的client项里可以添加自己登陆的账号密码,可以免账户密码登陆

    user=root

    password=centos

  • 相关阅读:
    线性表
    文件IO其四 图片显示
    文件IO其三 目录操作
    文件IO其二 文件IO
    文件IO其一 标准IO
    字符串处理函数
    复杂类型及编译相关
    linux内存分析
    构建根文件系统3-完善根文件系统
    构建根文件系统3-构建最小根文件系统
  • 原文地址:https://www.cnblogs.com/tony3154/p/10263510.html
Copyright © 2011-2022 走看看