zoukankan      html  css  js  c++  java
  • Mariadb安装配置

    一 源码二进制安装Mariadb

    1.1.1 准备所需用户

    [root@mysql-master ~]# useradd -r mysql -s /sbin/nologin
    [root@mysql-master ~]# id mysql
    uid=996(mysql) gid=994(mysql) 组=994(mysql)
    

    1.1.2 解压创建相应目录

    [root@mysql-master ~]# tar xf mariadb-10.2.22-linux-x86_64.tar.gz -C /usr/local/
    [root@mysql-master ~]# cd /usr/local/
    [root@mysql-master local]# ln -s mariadb-10.2.22-linux-x86_64/ mysql
    [root@mysql-master local]# chown -R mysql.mysql mysql/
    
    [root@mysql-master local]# cd mysql/bin/
    [root@mysql-master bin]# pwd
    /usr/local/mysql/bin
    [root@mysql-master bin]# echo 'PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
    [root@mysql-master bin]# . /etc/profile.d/mysql.sh 
    
    [root@mysql-master bin]# mkdir /data/mysqldb -p
    [root@mysql-master bin]# chown -R mysql.mysql /data/mysqldb/
    [root@mysql-master bin]# chmod 770 /data/mysqldb/
    

    1.1.3 初始化数据库

    [root@mysql-master mysql]# scripts/mysql_install_db --datadir=/data/mysqldb --user=mysql
    Installing MariaDB/MySQL system tables in '/data/mysqldb' ...
    OK
    
    To start mysqld at boot time you have to copy
    support-files/mysql.server to the right place for your system
    
    
    PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
    To do so, start the server, then issue the following commands:
    
    './bin/mysqladmin' -u root password 'new-password'
    './bin/mysqladmin' -u root -h mysql-master password 'new-password'
    
    Alternatively you can run:
    './bin/mysql_secure_installation'
    
    which will also give you the option of removing the test
    databases and anonymous user created by default.  This is
    strongly recommended for production servers.
    
    See the MariaDB Knowledgebase at http://mariadb.com/kb or the
    MySQL manual for more instructions.
    
    You can start the MariaDB daemon with:
    cd '.' ; ./bin/mysqld_safe --datadir='/data/mysqldb'
    
    You can test the MariaDB daemon with mysql-test-run.pl
    cd './mysql-test' ; perl mysql-test-run.pl
    
    Please report any problems at http://mariadb.org/jira
    
    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/
    

    1.1.4 配置主配置文件,以及启动文件

    # 拷贝模板文件
    [root@mysql-master support-files]# pwd
    /usr/local/mysql/support-files
    [root@mysql-master support-files]# cp my-huge.cnf /etc/my.cnf
    cp:是否覆盖"/etc/my.cnf"? y
    # 修改数据库存储位置
    [root@mysql-master support-files]# vim /etc/my.cnf
    [mysqld]
    datadir=/data/mysqldb
    
    # 拷贝启动文件
    [root@mysql-master support-files]# cp mysql.server /etc/init.d/mysqld
    [root@mysql-master support-files]# chkconfig --add mysqld
    [root@mysql-master support-files]# chkconfig --list
    mysqld         	0:关	1:关	2:开	3:开	4:.5:开	6:关
    netconsole     	0:关	1:关	2:关	3:关	4:.5:关	6:关
    network        	0:关	1:关	2:开	3:开	4:.5:开	6:关
    # 启动服务
    [root@mysql-master support-files]# service mysqld start
    Starting mysqld (via systemctl):                   [  确定  ]
    
    
    [root@mysql-master support-files]# ls /data/mysqldb/aria_log.00000001  mysql
    aria_log_control   mysql-bin.000001
    ib_buffer_pool     mysql-bin.index
    ibdata1            mysql-master.err
    ib_logfile0        mysql-master.pid
    ib_logfile1        performance_schema
    ibtmp1             test
    multi-master.info
    

    1.1.5 初始化安全配置

    [root@mysql-master support-files]# mysql_secure_installation 
    

    二 多实例配置

      2.1.1 创建所需文件夹

    mkdir /date/{3307,3308}/{etc,socket,pid,log,data} -p
    chown -R mysql.mysql /date/
    
    tree /date
    /date
    ├── 3307
    │   ├── data
    │   ├── etc
    │   ├── log
    │   ├── pid
    │   └── socket
    └── 3308
    ├── data
    ├── etc
    ├── log
    ├── pid
    └── socket
    

      2.1.2 初始化数据库

    /usr/local/mysql/scripts/mysql_install_db --datadir=/date/3307/data/ --user=mysql --basedir=/usr/local/mysql
    
    # basedir获取路径
    # mysql -uroot -p123456 -e 'show variables like "basedir"'
    +---------------+------------------+
    | Variable_name | Value            |
    +---------------+------------------+
    | basedir       | /usr/local/mysql |
    +---------------+------------------+
    

      2.1.3 创建配置文件

    [root@mysql-master ~]# cp /etc/my.cnf /date/3307/etc/
    [root@mysql-master ~]# vim /date/3307/etc/my.cnf 
    [client]
    #password       = your_password
    port            = 3307
    socket          = /date/3307/socket/mysql.sock
    [mysqld]
    port            = 3307
    datadir=/date/3307/data
    socket          = /date/3307/socket/mysql.sock
    [mysqld_safe]
    log-error=/date/3307/log/mariadb.log
    pid-file=/date/3307/pid/mariadb.pid
    
    # 按需修改
    [root@mysql-master ~]# cp /date/3307/etc/my.cnf /date/3308/etc/my.cnf
    

      2.1.4 编辑启动脚本

    # cat mysqld 
    #!/bin/bash
    
    port=3307
    mysql_user="root"
    mysql_pwd=""
    cmd_path="/usr/local/mysql/bin"
    mysql_basedir="/date"
    mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock"
    
    function_start_mysql() {
        if [ ! -e "$mysql_sock" ];then
          printf "Start Mysql....
    "
          ${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/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 "Stoping Mysql....
    "
          ${cmd_path}/mysqladmin -u${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown
        fi
    }
    
    function_restart_mysql() {
        printf "Restart Mysql...
    "
        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

      2.1.5 测试

    [root@mysql-master 3307]# sh mysqld start
    Start Mysql....
    [root@mysql-master 3307]# ss -lnt
    State       Recv-Q Send-Q                                        Local Address:Port                                                       Peer Address:Port              
    LISTEN      0      128                                                       *:111                                                                   *:*                  
    LISTEN      0      128                                                       *:22                                                                    *:*                  
    LISTEN      0      100                                               127.0.0.1:25                                                                    *:*                  
    LISTEN      0      80                                                       :::3306                                                                 :::*                  
    LISTEN      0      80                                                       :::3307                                                                 :::*                  
    LISTEN      0      128                                                      :::111                                                                  :::*                  
    LISTEN      0      128                                                      :::22                                                                   :::*                  
    LISTEN      0      100                                                     ::1:25                                                                   :::* 
    

      

      

       

  • 相关阅读:
    4步搞定:系统必备的安装位置未设置为组件供应商的网站,无法在磁盘上找到 dotNetFx40LP_Client_x86_x64cs.exe 问题的解决方案 VS2010 SP1 简体中文测试通过,繁体未测试
    SilverLight Expression 140小时视频讲座
    获取本地IP铁通也可以
    USB转485转换器
    继电器控制板
    远程抄表解决方案汇总
    Silverlight 鼠标滚轮组件“Silverlight.FX”
    Silverlight边学边写之一“Silverlight+Webservice+Dataset”综合应用
    企业库缓存类(EnterpriseLibrary CacheHelper )
    Silverlight Toolkit 正式版今天发布啦!
  • 原文地址:https://www.cnblogs.com/yanshicheng/p/10403850.html
Copyright © 2011-2022 走看看