当前位置 主页 > 服务器问题 > Linux/apache问题 >

    CentOS7.5使用mysql

    栏目:Linux/apache问题 时间:2020-01-22 23:48

    因使用源码安装的MySQL5.7.28多实例,在导入数据库时会出现问题,所以重新研究使用mysql_multi的方法来管理多实例,经过测试环境验证之后,在各方面使用上特别在备份还原上,没有报MySQL5.7.28多实例的问题,踩了不少坑,这里我将我的部署过程分享下,如果在哪里出问题的,还请多多指正与指导,谢谢!!

    参考文章:Centos7.5安装mysql5.7.24二进制包方式部署

    https://www.jb51.net/article/151867.htm

    本从就直接从2.7章节开始安装mysql多实例,具体部署过程如下:

    2.7 安装mysql多实例

    2.7.1. 创建软件安装目录(部署路径请根据实际修改)

    [root@~]# mkdir -pv /data/mysql/{3306,3307}
    [root@~]# mkdir -v /data/mysql/3306/{logs,data,binlog}
    [root@~]# mkdir -v /data/mysql/3307/{logs,data,binlog}

    2.7.2. MySQL安装包下载

    [root@~]# cd /opt
    [root@~]# wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
    [root@~]# tar zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
    [root@~]# mv mysql-5.7.28-linux-glibc2.12-x86_64 /usr/local/mysql
    [root@~]# chown -R mysql:mysql /usr/local/mysql
    [root@~]# chown -R mysql:mysql /data

    2.7.3. MySQL参数配置

     配置my.cnf参数文件

    (1)server_id=3306与server_id=3307数值请根据实际配置,注意配置的id值与局域网内其他各实例所配置的数值不可以冲突;

    (2)max_connections=1000配置MySQL数据库的最大连接数,根据实际需要配置,其他参数的优化根据实际需要修改或添

    加;

    (3)配置文件全部内容如下

    [root@~]# vim /etc/my.cnf
    [mysqld_multi]
    mysqld = /usr/local/mysql/bin/mysqld
    mysqladmin = /usr/local/mysql/bin/mysqladmin
    log = /data/mysql/mysqld_multi.log 
    #user=root
    #pass=
    
    [mysql]
    prompt="\u@jsshapp \R:\m:\s [\d]> "
    no-auto-rehash
    
    [mysqld3306]
    user = mysql
    port = 3306
    symbolic-links = 0
    #basedir = /usr/
    datadir = /data/mysql/3306/data
    socket = /data/mysql/3306/mysql3306.sock
    pid-file = /data/mysql/3306/mysqld3306.pid
    server_id = 3306
    character_set_server = utf8
    max_connections = 1000
    skip_name_resolve = 1
    open_files_limit = 65536
    thread_cache_size = 64
    table_open_cache = 4096
    table_definition_cache = 1024
    table_open_cache_instances = 64
    max_prepared_stmt_count = 1048576
    explicit_defaults_for_timestamp = true
    log_timestamps = system
    
    binlog_format = row
    log_bin = /data/mysql/3306/binlog/mysql-bin
    binlog_rows_query_log_events = on
    expire_logs_days = 7
    binlog_cache_size = 4M
    max_binlog_cache_size = 2G
    max_binlog_size = 1G
    sync_binlog = 1
    log_bin_trust_function_creators = 1
    
    slow_query_log = on
    slow_query_log_file = /data/mysql/3306/data/slow.log
    log-error = /data/mysql/3306/logs/error.log
    log_queries_not_using_indexes = on
    long_query_time = 1.000000
    
    gtid_mode = on
    enforce_gtid_consistency = on
    
    default_storage_engine = innodb
    default_tmp_storage_engine = innodb
    innodb_data_file_path = ibdata1:12M:autoextend:max:2000M
    innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:2000M
    innodb_buffer_pool_filename = ib_buffer_pool
    innodb_log_files_in_group = 3
    innodb_log_file_size = 512M
    innodb_online_alter_log_max_size = 1024M
    innodb_open_files = 4096
    innodb_page_size = 16k
    innodb_thread_concurrency = 0
    innodb_read_io_threads = 4
    innodb_write_io_threads = 4
    innodb_purge_threads = 4
    innodb_page_cleaners = 4
    innodb_print_all_deadlocks = on
    innodb_lock_wait_timeout = 20
    innodb_spin_wait_delay = 128
    innodb_autoinc_lock_mode = 2
    innodb_io_capacity = 200
    innodb_io_capacity_max = 2000
    #innodb_flush_neighbors = 
    innodb_log_buffer_size = 8M
    innodb_flush_log_at_timeout = 1
    innodb_flush_log_at_trx_commit = 2
    innodb_buffer_pool_size = 1024M
    innodb_buffer_pool_instances = 4
    autocommit = 1
    innodb_buffer_pool_dump_pct = 25
    innodb_buffer_pool_dump_at_shutdown = ON
    innodb_buffer_pool_load_at_startup = ON
    
    [mysqld3307]
    user = mysql
    port = 3307
    symbolic-links = 0
    lower_case_table_names = 1
    #basedir = /usr/
    datadir = /data/mysql/3307/data
    socket = /data/mysql/3307/mysql3307.sock
    pid-file = /data/mysql/3307/mysqld3307.pid
    server_id = 3307
    character_set_server = utf8
    max_connections = 1000
    skip_name_resolve = 1
    open_files_limit = 65536
    thread_cache_size = 64
    table_open_cache = 4096
    table_definition_cache = 1024
    table_open_cache_instances = 64
    max_prepared_stmt_count = 1048576
    explicit_defaults_for_timestamp = true
    log_timestamps = system
    
    binlog_format = row
    log_bin = /data/mysql/3307/binlog/mysql-bin
    binlog_rows_query_log_events = on
    expire_logs_days = 7
    binlog_cache_size = 4M
    max_binlog_cache_size = 2G
    max_binlog_size = 1G
    sync_binlog = 1
    
    slow_query_log = on
    slow_query_log_file = /data/mysql/3307/data/slow.log
    log-error = /data/mysql/3307/logs/error.log
    log_queries_not_using_indexes = on
    long_query_time = 1.000000
    
    gtid_mode = on
    enforce_gtid_consistency = on
    
    default_storage_engine = innodb
    default_tmp_storage_engine = innodb
    innodb_data_file_path = ibdata1:12M:autoextend:max:2000M
    innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:2000M
    innodb_buffer_pool_filename = ib_buffer_pool
    innodb_log_files_in_group = 3
    innodb_log_file_size = 512M
    innodb_online_alter_log_max_size = 1024M
    innodb_open_files = 4096
    innodb_page_size = 16k
    innodb_thread_concurrency = 0
    innodb_read_io_threads = 4
    innodb_write_io_threads = 4
    innodb_purge_threads = 4
    innodb_page_cleaners = 4
    innodb_print_all_deadlocks = on
    innodb_lock_wait_timeout = 20
    innodb_spin_wait_delay = 128
    innodb_autoinc_lock_mode = 2
    innodb_io_capacity = 200
    innodb_io_capacity_max = 2000
    #innodb_flush_neighbors = 
    innodb_log_buffer_size = 8M
    innodb_flush_log_at_timeout = 1
    innodb_flush_log_at_trx_commit = 2
    innodb_buffer_pool_size = 1024M
    innodb_buffer_pool_instances = 4
    autocommit = 1
    innodb_buffer_pool_dump_pct = 25
    innodb_buffer_pool_dump_at_shutdown = ON
    innodb_buffer_pool_load_at_startup = ON
    
    [mysqldump]
    quick
    max_allowed_packet = 32M