• GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。
  • GreatSQL是MySQL的国产分支版本,使用上与MySQL一致。

一、系统信息

部署前提:准备一个干净的系统,确认先前没有安装过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

Enjoy GreatSQL

文章推荐:

面向金融级应用的GreatSQL正式开源

https://mp.weixin.qq.com/s/cI_wPKQJuXItVWpOx_yNTg

Changes in GreatSQL 8.0.25 (2021-8-18)

https://mp.weixin.qq.com/s/qcn0lmsMoLtaGO9hbpnhVg

MGR及GreatSQL资源汇总

https://mp.weixin.qq.com/s/qXMct_pOVN5FGoLsXSD0MA

GreatSQL MGR FAQ

https://mp.weixin.qq.com/s/J6wkUpGXw3YkyEUJXiZ9xA

在Linux下源码编译安装GreatSQL/MySQL

https://mp.weixin.qq.com/s/WZZOWKqSaGSy-mpD2GdNcA

关于 GreatSQL

GreatSQL是由万里数据库维护的MySQL分支,专注于提升MGR可靠性及性能,支持InnoDB并行查询特性,是适用于金融级应用的MySQL分支版本。

Gitee:

https://gitee.com/GreatSQL/GreatSQL

GitHub:

https://github.com/GreatSQL/GreatSQL

Bilibili:

https://space.bilibili.com/1363850082/video

微信&QQ群:

可搜索添加GreatSQL社区助手微信好友,发送验证信息“加群”加入GreatSQL/MGR交流微信群

QQ群:533341697

微信小助手:wanlidbc

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

RPM方式安装GreatSQL 8.0.25-16的更多相关文章

  1. CentOS 6 下RPM方式安装MySQL5.6

    CentOS 6 下RPM方式安装MySQL5.6 1. 下载Linux对应的RPM包,如:CentOS6.7_64对应的RPM包,如下:[root@mysql ~]# ll总用量 113808-rw ...

  2. centos7和centos6.5环境rpm方式安装mysql5.7和mysql5.6详解

    centos环境安装mysql5.7 其实不建议安装mysql5.7 语法和配置可能和以前的版本区别较大,多坑,慎入 1.yum方式安装(不推荐) a.安装mysql5.7 yum源 centos6: ...

  3. RPM方式安装MySQL5.6

    原文转自:http://blog.csdn.net/liumm0000/article/details/18841197 未整理! RPM方式安装MySQL5.6 a. 检查MySQL及相关RPM包, ...

  4. RPM方式安装MySQL5.6和windows下安装mysql解压版

    下载地址: http://cdn.MySQL.com/archives/mysql-5.6/MySQL-server-5.6.13-1.el6.x86_64.rpmhttp://cdn.mysql.c ...

  5. rpm方式安装gcc缺少依赖项的解决方法

    使用rpm方式安装gcc时,有时会报缺少依赖项: libmpfr.so.1 is needed by cpp-4.4.4-13.el6.i686 libppl.so.7 is needed by cl ...

  6. centeOS6.5 RPM方式安装MySQL5.6

    RPM方式安装MySQL5.6 a. 检查MySQL及相关RPM包,是否安装,如果有安装,则移除(rpm –e 名称) 1 [root@localhost ~]# rpm -qa | grep -i ...

  7. CentOS 使用RPM方式安装MySQL5.6

    转载自:http://blog.csdn.net/liumm0000/article/details/18841197 RPM方式安装MySQL5.6 a. 检查MySQL及相关RPM包,是否安装,如 ...

  8. 技术分享 | 简单测试MySQL 8.0.26 vs GreatSQL 8.0.25的MGR稳定性表现

    欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. M ...

  9. CentOS7下通过rpm方式安装MySQL及插入中文问题解决 [原创]

    一 CentOS下通过rpm方式安装MySQL CentOS版本:CentOS-7 MySQL版本:MySQL-5.6.22 在网上搜了一下,Linux下安装MYSQL有三种方式: 1) 通过yum命 ...

随机推荐

  1. 203. Remove Linked List Elements - LeetCode

    Question 203. Remove Linked List Elements Solution 题目大意:从链表中删除给定的数 思路:遍历链表,如果该节点的值等于给的数就删除该节点,注意首节点 ...

  2. 好客租房19-react组件基础目标

    1能够使用函数创建组件 2能够使用class创建组件 3能够给react元素绑定事件 4能够使用state和setstate 5能够处理事件中的this指向问题 6能够使用受控组件处理表单

  3. CenterNet和CenterNet2笔记

    CenterNet和CenterNet2笔记 CenterNet是基于anchor-free的一阶段检测算法 CenterNet2是CenterNet作者基于两阶段的改进 CenterNet(Obje ...

  4. Vben Admin 源码学习:状态管理-错误日志

    0x00 前言 本文将对 Vue-Vben-Admin 的状态管理实现源码进行分析解读,耐心读完,相信您一定会有所收获! 0x01 errorLog.ts 错误日志 文件 src\store\modu ...

  5. SpringCloud 服务治理

    目录 1. Eureka 1.1 Eureka 介绍 1.2 Eureka 快速入门 父工程 Eureka Server(子工程) pom.xml 启动类 application.yml Eureka ...

  6. CF1665A GCD vs LCM

  7. c++ FHQ Treap

    前面我们对平衡树有了个大概的了解 关于 Treap Treap=Binary Search Tree + Heap 二叉搜索树 + 二叉堆(一般是小根堆) Treap 每一个节点有两个值 一个值是平衡 ...

  8. .NET C#基础(7):接口 - 人如何和猫互动

    0. 文章目的   面向有一定基础的C#初学者,介绍C#中接口的意义.使用以及特点. 1. 阅读基础   了解C#基本语法(如定义一个类.继承一个类)   理解OOP中的基本概念(如继承,多态) 2. ...

  9. BUUCTF-文件中的秘密

    文件中的秘密 下载图片属性查看即可发现flag.这算是图片必须查看的几个地方.

  10. python+anaconda+pycharm的使用

    研一开学的时候开始接触了这些,但是对于其各种功能感到十分混乱,现在通过这篇博文将其功能详细的写出来. 1.python解释器 首先要了解python解释器,我们俗称的下载python也就是下载pyth ...