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                                                                   :::* 
    

      

      

       

  • 相关阅读:
    codeforces 862B
    codeforces 863B
    codeforces 864B
    codeforces 867B
    codeforces 868B Race Against Time
    codeforces 869B The Eternal Immortality
    CodeForces
    nyoj 括号配对问题(模拟栈的过程)
    HDU
    nyoj 119 士兵杀敌(三)线段树
  • 原文地址:https://www.cnblogs.com/yanshicheng/p/10403850.html
Copyright © 2011-2022 走看看