美文网首页
RPM方式安装GreatSQL 8.0.25-16

RPM方式安装GreatSQL 8.0.25-16

作者: GreatSQL | 来源:发表于2022-05-18 15:40 被阅读0次

    [toc]

    一、系统信息

    部署前提:准备一个干净的系统,确认先前没有安装过MySQL、Mariadb等相关服务,造成不必要的冲突。

    1.确认OS信息

    [root@mgr1 opt]# cat /etc/redhat-release
    CentOS Linux release 7.5.1804 (Core)
    
    [root@mgr1 opt]# uname -r
    3.10.0-862.el7.x86_64
    

    2.OS优化调整

    其他一些OS调整这里不涉及,跳过。

    3.临时关闭 firewall 和 selinux

    systemctl stop firewalld.service
    setenforce 0
    

    二、rpm安装

    1.下载安装包

    将这4个文件下载并上传到 /opt 目录

    • greatsql-client-8.0.25-16.1.el7.x86_64.rpm
    • greatsql-devel-8.0.25-16.1.el7.x86_64.rpm
    • greatsql-server-8.0.25-16.1.el7.x86_64.rpm
    • greatsql-shared-8.0.25-16.1.el7.x86_64.rpm

    下载地址:https://gitee.com/GreatSQL/GreatSQL/releases/GreatSQL-8.0.25-16

    2.安装依赖包

    yum install openssl-devel net-tools perl-devel -y
    

    3.依次安装下列软件包

    rpm -ivh greatsql-shared-8.0.25-16.1.el7.x86_64.rpm
    rpm -ivh greatsql-client-8.0.25-16.1.el7.x86_64.rpm
    rpm -ivh greatsql-server-8.0.25-16.1.el7.x86_64.rpm
    rpm -ivh greatsql-devel-8.0.25-16.1.el7.x86_64.rpm
    

    安装过程 greatsql-server-8.0.25-16.1.el7.x86_64.rpm 如果出现如下报错

    file /etc/my.cnf from install of greatsql-server-8.0.25-16.1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.56-2.el7.x86_64

    file /usr/lib64/mysql/plugin/dialog.so from install of greatsql-server-8.0.25-16.1.el7.x86_64 conflicts with file from package mariadb-libs-1:5.5.56-2.el7.x86_64

    则先卸载mariadb-libs,然后再执行

    yum remove mariadb-libs -y
    

    执行 rpm -qa|grep greatsql 确认下都装上了

    greatsql-shared-8.0.25-16.1.el7.x86_64
    greatsql-server-8.0.25-16.1.el7.x86_64
    greatsql-client-8.0.25-16.1.el7.x86_64
    greatsql-devel-8.0.25-16.1.el7.x86_64
    

    4.替换配置文件

    备份下原来的/etc/my.cnf文件

    mv /etc/my.cnf /etc/my.cnf.`date +"%F"`
    

    添加配置文件,直接复制到窗口执行即可。

    以下配置在2核2G内存正常运行,根据硬件情况自己微调。

    echo '
    #my.cnf
    [client]
    socket = /data/GreatSQL/mysql.sock
    [mysql]
    loose-skip-binary-as-hex
    prompt="(\\D)[\\u@GreatSQL][\\d]>"
    no-auto-rehash
    [mysqld]
    user    = mysql
    port    = 3306
    server_id = 3306213
    basedir = /usr
    datadir    = /data/GreatSQL
    socket    = /data/GreatSQL/mysql.sock
    pid-file = mysql.pid
    character-set-server = UTF8MB4
    skip_name_resolve = 1
    
    #若你的MySQL数据库主要运行在境外,请务必根据实际情况调整本参数
    default_time_zone = "+8:00"
    
    #performance setttings
    lock_wait_timeout = 3600
    open_files_limit    = 65535
    back_log = 1024
    max_connections = 512
    max_connect_errors = 1000000
    table_open_cache = 1024
    table_definition_cache = 1024
    thread_stack = 512K
    sort_buffer_size = 4M
    join_buffer_size = 4M
    read_buffer_size = 8M
    read_rnd_buffer_size = 4M
    bulk_insert_buffer_size = 64M
    thread_cache_size = 768
    interactive_timeout = 600
    wait_timeout = 600
    tmp_table_size = 32M
    max_heap_table_size = 32M
    
    #log settings
    log_timestamps = SYSTEM
    log_error = /data/GreatSQL/error.log
    log_error_verbosity = 3
    slow_query_log = 1
    log_slow_extra = 1
    slow_query_log_file = /data/GreatSQL/slow.log
    long_query_time = 0.1
    log_queries_not_using_indexes = 1
    log_throttle_queries_not_using_indexes = 60
    min_examined_row_limit = 100
    log_slow_admin_statements = 1
    log_slow_slave_statements = 1
    log_bin = /data/GreatSQL/binlog
    binlog_format = ROW
    sync_binlog = 1
    binlog_cache_size = 4M
    max_binlog_cache_size = 2G
    max_binlog_size = 1G
    binlog_rows_query_log_events = 1
    binlog_expire_logs_seconds = 604800
    #MySQL 8.0.22前,想启用MGR的话,需要设置binlog_checksum=NONE才行
    binlog_checksum = CRC32
    gtid_mode = ON
    enforce_gtid_consistency = TRUE
    
    #myisam settings
    key_buffer_size = 32M
    myisam_sort_buffer_size = 128M
    
    #replication settings
    #master_info_repository = TABLE
    #relay_log_info_repository = TABLE
    relay_log_recovery = 1
    slave_parallel_type = LOGICAL_CLOCK
    
    #可以设置为逻辑CPU数量的2倍
    slave_parallel_workers = 64
    binlog_transaction_dependency_tracking = WRITESET
    slave_preserve_commit_order = 1
    slave_checkpoint_period = 2
    
    #innodb settings
    transaction_isolation = REPEATABLE-READ
    innodb_buffer_pool_size = 256M
    innodb_buffer_pool_instances = 8
    innodb_data_file_path = ibdata1:12M:autoextend
    innodb_flush_log_at_trx_commit = 1
    innodb_log_buffer_size = 32M
    #innodb_log_file_size = 48M
    #innodb_log_files_in_group = 3
    innodb_doublewrite_files = 2
    innodb_max_undo_log_size = 4G
    
    # 根据您的服务器IOPS能力适当调整
    # 一般配普通SSD盘的话,可以调整到 10000 - 20000
    # 配置高端PCIe SSD卡的话,则可以调整的更高,比如 50000 - 80000
    innodb_io_capacity = 4000
    innodb_io_capacity_max = 8000
    innodb_open_files = 65534
    innodb_flush_method = O_DIRECT
    innodb_lru_scan_depth = 4000
    innodb_lock_wait_timeout = 10
    innodb_rollback_on_timeout = 1
    innodb_print_all_deadlocks = 1
    innodb_online_alter_log_max_size = 4G
    innodb_print_ddl_logs = 1
    innodb_status_file = 1
    
    #注意: 开启 innodb_status_output & innodb_status_output_locks 后, 可能会导致log_error文件增长较快
    innodb_status_output = 0
    innodb_status_output_locks = 1
    innodb_sort_buffer_size = 67108864
    
    #innodb monitor settings
    innodb_monitor_enable = "module_innodb"
    innodb_monitor_enable = "module_server"
    innodb_monitor_enable = "module_dml"
    innodb_monitor_enable = "module_ddl"
    innodb_monitor_enable = "module_trx"
    innodb_monitor_enable = "module_os"
    innodb_monitor_enable = "module_purge"
    innodb_monitor_enable = "module_log"
    innodb_monitor_enable = "module_lock"
    innodb_monitor_enable = "module_buffer"
    innodb_monitor_enable = "module_index"
    innodb_monitor_enable = "module_ibuf_system"
    innodb_monitor_enable = "module_buffer_page"
    innodb_monitor_enable = "module_adaptive_hash"
    
    #pfs settings
    performance_schema = 1
    #performance_schema_instrument = '%memory%=on'
    performance_schema_instrument = '%lock%=on'
    ' > /etc/my.cnf
    

    5.创建数据目录

    mkdir -p /data/GreatSQL
    chown mysql.mysql /data/GreatSQL
    

    6.启动服务

    rpm安装会自动生成一个mysqld.service的启动服务,并设置为开机自启动,所以我们直接开启服务即可。

    如果是第一次开启,mysqld.service服务会调用/usr/bin/mysqld_pre_systemd脚本进行数据初始化操作,此过程时间较长,请耐心等待!

    systemctl start mysqld.service
    

    如果开启过程出现

    Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

    执行 journalctl -xe 发现以下内容,确认下相关的/data/GreatSQL/error.log文件存在且配置权限正常,可以尝试关闭selinux再进行开启

    ......
    [ERROR] [MY-010338] [Server] Can't find error-message file '/usr/local/GreatSQL-8.0.25-15-Linux-glibc2.17-x86_64/s
    [Warning] [MY-010091] [Server] Can't create test file /data/GreatSQL/mysqld_tmp_file_case_insensitive_test.lower-t
    [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /data/GreatSQL/ is case in
    [ERROR] [MY-010187] [Server] Could not open file '/data/GreatSQL/error.log' for error logging: Permission denied
    ......
    

    7.查看开启状态

    启动服务后,查看下服务启动状态,关键字active (running)

    [root@localhost GreatSQL]# systemctl status mysqld.service
    ● mysqld.service - MySQL Server
       Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
       Active: active (running) since Tue 2022-05-17 05:13:09 EDT; 50s ago
         Docs: man:mysqld(8)
               http://dev.mysql.com/doc/refman/en/using-systemd.html
      Process: 32417 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
     Main PID: 32506 (mysqld)
       Status: "Server is operational"
       CGroup: /system.slice/mysqld.service
               └─32506 /usr/sbin/mysqld
    

    8.启动后查看初始化的密码

    记录下输出的初始化密码,稍后改密需要用到

    cat /data/GreatSQL/error.log |grep 'root@localhost'|awk '{print $NF}'
    

    9.设置下root密码

    # 1.使用初始化的密码登陆
    mysql -p -uroot -S /data/GreatSQL/mysql.sock
    
    # 2.设置修改密码,把 GreatSQL.2022! 改成你需要设置的密码
    [root@GreatSQL][(none)]> set password for root@'localhost'='GreatSQL.2022!';
    [root@GreatSQL][(none)]> flush privileges;
    [root@GreatSQL][(none)]> quit
    
    # 3.新密码登陆下
    mysql -uroot -p -S /data/GreatSQL/mysql.sock
    

    10.查看下版本

    [root@GreatSQL][(none)]>status
    --------------
    Server version:    8.0.25-16 GreatSQL (GPL), Release 16, Revision 8bb0e5af297
    

    11.总结

    以上就是使用rpm方式安装完成一个单机的GreatSQL,实际环境要根据硬件、系统等配置进行微调,不可直接用于生产。

    END

    本文由博客一文多发平台 OpenWrite 发布!

    相关文章

      网友评论

          本文标题: RPM方式安装GreatSQL 8.0.25-16

          本文链接:https://www.haomeiwen.com/subject/byeaurtx.html