zoukankan      html  css  js  c++  java
  • mysql数据库搭建

    机器:
    [ 192.168.12.90   3306/3307] bje-qa-mysql-01   /100G    /home 178G  /data 6.3T                        
    [ 192.168.12.91   3306/3307] bje-qa-mysql-02   /100G    /home 178G  /data 6.3T                        
    [ 192.168.12.92   3306] bje-qa-mysql-03        /100G    /home 178G  /data 6.3T                    
    [ 192.168.12.93   3306] bje-qa-mysql-04        /100G    /home 178G  /data 6.3T                   
    [ 192.168.12.94   3306] bje-qa-mysql-05        /100G    /home 178G  /data 6.3T                    
    [ 192.168.12.95   3306] bje-qa-mysql-06        /100G    /home 178G  /data 6.3T


    192.168.65.15:6015端口
    ---------------------------------
    一、搭建单个实例
    1.安装依赖包(#已安装#)
    yum install cmake make gcc gcc-c++ biso ncurses ncurses-devel

    2.手动创建创建数据目录    
    cd /data/
    mkdir mysql3307
    cd mysql3307/
    mkdir data etc log binlog innodata innolog relaylog
    ll
    cd log/
    touch mysqld.err


    3.新建mysql用户组和用户,并改变新建数据目录的属组和属主:
    groupadd mysql   (#已创建#)
    useradd -r -g mysql mysql  (#已创建#)
    cd /data/
    chown -R mysql:mysql /data/mysql3307

    4、下载、解压安装包
    mkdir -p /data/soft
    cd /data/soft
    wget https://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.58.tar.gz(#已下载#)
    解压:
    tar -zxf mysql-5.5.58-linux-glibc2.12-x86_64.tar.gz(#已解压#)

    5、在解压目录中进行cmake编译:
    cd /data/soft/mysql-5.5.58/
    cmake .
    -DCMAKE_INSTALL_PREFIX=/data/mysql3307/
    -DMYSQL_DATADIR=/data/mysql3307/data
    -DSYSCONFDIR=/data/mysql3307/etc
    -DWITH_INNOBASE_STORAGE_ENGINE=1
    -DWITH_READLINE=1
    -DMYSQL_UNIX_ADDR=/data/mysql3307/mysql.sock
    -DMYSQL_TCP_PORT=3307
    -DENABLED_LOCAL_INFILE=1
    -DWITH_PARTITION_STORAGE_ENGINE=1
    -DEXTRA_CHARSETS=all
    -DDEFAULT_CHARSET=utf8
    -DDEFAULT_COLLATION=utf8_general_ci


    6.make&&make install
    make -j8
    make install

    5.配置文件的修改
    vi /data/mysql3307/etc/my3307.cnf
    #注意:使用线上配置文件,则cnf文件中出现的目录和文件,除了mysqld.pid和mysql.sock(这两个文件在服务启动过程中会自动生成)文件之外,都要事先创建好。
        
    6.初始化系统表(在安装目录中进行)
    cd /data/mysql3307/
    scripts/mysql_install_db --user=mysql --datadir=/data/mysql3307/data/
    #出现两个OK即为成功

    7.使用配置文件启动服务
    cd /data/mysql3307/bin
    ./mysqld_safe --defaults-file=/data/mysql3307/etc/my3307.cnf &
    ps -ef|grep mysql
    #查看服务起来则安装成功

    8、安装完成MySQL后第一时间删除(!=)root或者host不是localhost的用户:
    ./mysql   登录
    select user,host,password from mysql.user;
    delete from mysql.user where user not in('root','localhost');
    再次检查一下用户:
    select user,host,password from mysql.user;

    9、为mysql数据库创建root密码和新用户名密码
    给root用户设置密码:
    update mysql.user set password=password('root123') where user='root';
    flush privileges;
    验证:
    exit
    mysql -uroot -proot123 --socket=/data/mysql3307/mysql.sock
     
    创建新用户:
    grant all privileges on *.* to 'tester'@'%' identified by 'nopass.2';
    flush privileges;                                                       
    select user,host,password from mysql.user;
    验证:
    exit
    mysql -utester -pnopass.2 --socket=/data/mysql3307/mysql.sock

    ##命令
    ps -ef|grep mysqld查看mysql进程





    二、搭建主从
    第一步:从库也先搭建单个实例,注意配置文件中的server_id要设置不同
    (同时)
    主库上创建主从同步账号:
    mysql -uroot -proot123 --socket=/data/mysql3307/mysql.sock
    grant replication slave on *.* to 'repl'@'%' identified by 'repl123';
    flush privileges;
    验证:
    mysql -urepl -prepl123 --socket=/data/mysql3307/mysql.sock

    查看主库当前的二进制日志pos:
    mysql -uroot -proot123 --socket=/data/mysql3307/mysql.sock
    mysql> show master status;
    +----------+----------+--------------+------------------+
    | File     | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +----------+----------+--------------+------------------+
    | 0.000001 |     1122 |              |                  |
    +----------+----------+--------------+------------------+
    1 row in set (0.00 sec)

    从库上:
    CHANGE MASTER TO
      MASTER_HOST='192.168.12.90',
      MASTER_USER='repl',
      MASTER_PASSWORD='repl123',
      MASTER_PORT=3307,
      MASTER_LOG_FILE='0.000001',
      MASTER_LOG_POS=1122,
      MASTER_CONNECT_RETRY=60;

    start slave;
    show slave status G;
    ##在这里主要是看:
    Slave_IO_Running=Yes
    Slave_SQL_Running=Yes
    Second_Behind_Master=0



    三、导出导入数据(以192.168.65.15:6015为例)
    1、查看库:
    mysql -u'tester' -S /data/mysql6015/mysql.sock  -pnopass.2  -P 6015

    2、导出数据:
    [备份前查看一下数据大小]
    cd /data/mysql6015/data
    du -sh
    查看不了可以用sudo su查看

    *备份所有数据库:(可选)
    time mysqldump -utester -pnopass.2 -A--single-transaction --socket=/data/mysql6015/mysql.sock -P6015 > /tmp/Backup01.sql

    备份指定数据库:
    time mysqldump -utester -pnopass.2 --databases hotel_product_single hotel_confirm hotel_cashout hotel_schedule --single-transaction --socket=/data/mysql6015/mysql.sock -P6015 > /tmp/Backup01.sql

    例如:
    hotel_product_single
    hotel_confirm
    hotel_cashout
    hotel_schedule


    3、拷贝备份文件:
    scp /tmp/Backup01.sql tester@192.168.12.90:/tmp/

    4、导入数据:
    目标实例上:
    ll /tmp
    mysql -utester -pnopass.2 --socket=/data/mysql3306/mysql.sock
    source /tmp/Backup01.sql

    ##主库配置文件
    [mysqld]
    datadir=/data/mysql3307/data
    socket=/data/mysql3307/mysql.sock
    pid-file=/data/mysql3307/mysqld.pid
    general_log=1
    general_log_file=/data/mysql3307/log/mysql.log
    log-error=/data/mysql3307/log/mysqld.err
    log-bin=/data/mysql3307/binlog/mysql-bin.log
    log-bin-index=/data/mysql3307/binlog/mysql-bin.index
    log_bin_trust_function_creators=1
    log_bin=0
    read_only=0   ##主库为0,关闭##
    server_id=330790
    
    expire_logs_days=7
    binlog_format=mixed
    max_binlog_size=1024MB
    user=mysql
    default-storage-engine=innodb
    port=3307
    character_set_server=utf8
    skip_name_resolve
    wait_timeout=3600
    
    ####################################
    #InnoDB
    ####################################
    innodb_data_home_dir=/data/mysql3307/innodata  # [InnoDB] 
    innodb_file_per_table=1           # [InnoDB]独立表空间开关
    innodb_data_file_path=ibdata1:64M:autoextend # [InnoDB]共享表空间
    innodb_flush_log_at_trx_commit=1      # [InnoDB] 
    innodb_log_group_home_dir=/data/mysql3307/innolog   # [InnoDB Log] 
    innodb_log_file_size=512M                      # [InnoDB Log] 
    innodb_log_files_in_group=3                  # [InnoDB Log] 
    innodb_lock_wait_timeout=100
    #innodb_flush_method=O_DIRECT   #Direct IO
    #innodb_sync_spin_loops=0
    #innodb_io_capacity=2000
    innodb_file_io_threads=4
    innodb_max_dirty_pages_pct=80
    innodb_thread_concurrency=16
    
    
    ####################################
    #Replication
    ####################################
    relay-log=/data/mysql3307/relaylog/mysql-relay-bin.log
    relay-log-index=/data/mysql3307/relaylog/mysql-relay-bin.index
    ##must be multi-lines,don't seperated by comma
    #replicate-do-db =
    #replicate-do-db =
    #replicate-ignore-db = mysql
    #replicate-ignore-db = test
    #slave-skip-errors = all       # use [mk-slave-restart]
    #log-slave-updates=1
    #report-host=10.91.64.3
    #report-port=6231
    slave-net-timeout = 300
    relay_log_purge=0
    
    ####################################
    #Slow Query
    ####################################
    slow-query-log=1
    slow-query-log-file=/data/mysql3307/log/slow.log
    long-query-time=0.5
    
    ####################################
    #Global Memory
    ####################################
    max_connections = 2020
    max_user_connections=1900
    max_connect_errors=10000
    thread_concurrency = 8
    max_allowed_packet = 48M
    max_binlog_cache_size=256M
    query_cache_limit=2M
    max_tmp_tables=256
    interactive_timeout=300
    
    binlog_cache_size = 2M
    table_cache = 1024 
    thread_cache_size = 1200
    query_cache_size = 32M
    key_buffer = 16M    # [MyISAM]
    innodb_log_buffer_size = 8M   # [InnoDB]
    innodb_buffer_pool_size= 2048M    # [InnoDB,一般设置成机器内存的50%~80%,测试机1GB]   
    
    ####################################
    #Thread Private
    ####################################
    sort_buffer_size = 2M
    thread_stack = 256K
    join_buffer_size = 4M
    read_buffer_size = 4M 
    read_rnd_buffer_size = 4M
    net_buffer_length = 16384 
    bulk_insert_buffer_size = 4M  
    tmp_table_size = 256M 
    max_heap_table_size = 16M  
    
    
    [mysql]
    prompt=u@h:p>
    pager=less -SFX
    
    [client]
    socket = /data/mysql3307/mysql.sock
    
    ##从库配置文件
    [mysqld]
    datadir=/data/mysql3307/data
    socket=/data/mysql3307/mysql.sock
    pid-file=/data/mysql3307/mysqld.pid
    general_log=1
    general_log_file=/data/mysql3307/log/mysql.log
    log-error=/data/mysql3307/log/mysqld.err
    log-bin=/data/mysql3307/binlog/mysql-bin.log
    log-bin-index=/data/mysql3307/binlog/mysql-bin.index
    log_bin_trust_function_creators=1
    log_bin=0
    read_only=1    ##从库为1,开启##
    server_id=330791
    
    expire_logs_days=7
    binlog_format=mixed
    max_binlog_size=1024MB
    user=mysql
    default-storage-engine=innodb
    port=3307
    character_set_server=utf8
    skip_name_resolve
    wait_timeout=3600
    
    ####################################
    #InnoDB
    ####################################
    innodb_data_home_dir=/data/mysql3307/innodata  # [InnoDB] 
    innodb_file_per_table=1           # [InnoDB]独立表空间开关
    innodb_data_file_path=ibdata1:64M:autoextend # [InnoDB]共享表空间
    innodb_flush_log_at_trx_commit=1      # [InnoDB] 
    innodb_log_group_home_dir=/data/mysql3307/innolog   # [InnoDB Log] 
    innodb_log_file_size=512M                      # [InnoDB Log] 
    innodb_log_files_in_group=3                  # [InnoDB Log] 
    innodb_lock_wait_timeout=100
    #innodb_flush_method=O_DIRECT   #Direct IO
    #innodb_sync_spin_loops=0
    #innodb_io_capacity=2000
    innodb_file_io_threads=4
    innodb_max_dirty_pages_pct=80
    innodb_thread_concurrency=16
    
    
    ####################################
    #Replication
    ####################################
    relay-log=/data/mysql3307/relaylog/mysql-relay-bin.log
    relay-log-index=/data/mysql3307/relaylog/mysql-relay-bin.index
    ##must be multi-lines,don't seperated by comma
    #replicate-do-db =
    #replicate-do-db =
    #replicate-ignore-db = mysql
    #replicate-ignore-db = test
    #slave-skip-errors = all       # use [mk-slave-restart]
    #log-slave-updates=1
    #report-host=10.91.64.3
    #report-port=6231
    slave-net-timeout = 300
    relay_log_purge=0
    
    ####################################
    #Slow Query
    ####################################
    slow-query-log=1
    slow-query-log-file=/data/mysql3307/log/slow.log
    long-query-time=0.5
    
    ####################################
    #Global Memory
    ####################################
    max_connections = 2020
    max_user_connections=1900
    max_connect_errors=10000
    thread_concurrency = 8
    max_allowed_packet = 48M
    max_binlog_cache_size=256M
    query_cache_limit=2M
    max_tmp_tables=256
    interactive_timeout=300
    
    binlog_cache_size = 2M
    table_cache = 1024 
    thread_cache_size = 1200
    query_cache_size = 32M
    key_buffer = 16M    # [MyISAM]
    innodb_log_buffer_size = 8M   # [InnoDB]
    innodb_buffer_pool_size= 2048M    # [InnoDB,一般设置成机器内存的50%~80%,测试机1GB]   
    
    ####################################
    #Thread Private
    ####################################
    sort_buffer_size = 2M
    thread_stack = 256K
    join_buffer_size = 4M
    read_buffer_size = 4M 
    read_rnd_buffer_size = 4M
    net_buffer_length = 16384 
    bulk_insert_buffer_size = 4M  
    tmp_table_size = 256M 
    max_heap_table_size = 16M  
    
    
    [mysql]
    prompt=u@h:p>
    pager=less -SFX
    
    [client]
    socket = /data/mysql3307/mysql.sock
    
  • 相关阅读:
    联想 Vibe Shot(Z90-3) 免recovery 获取ROOT权限 救砖 VIBEUI V3.1_1625
    联想 Z5S(L78071)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 10.5.370
    联想 Z5(L78011) 免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 10.5.254
    联想 S5 Pro(L78041)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 5.0.123
    第二阶段 冲刺八
    第二阶段 冲刺七
    第二阶段 冲刺六
    第二阶段 冲刺五
    代码大全阅读笔记03
    学习进度十二
  • 原文地址:https://www.cnblogs.com/yuer011/p/8072734.html
Copyright © 2011-2022 走看看