• 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. 138_Power BI&Power Pivot特殊半累加度量

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 半累加度量(semi-additive measure),在DAX建模分析的时候经常遇见:应用场景诸如银行存款. ...

  2. Windows 程序安装与更新方案: Clowd.Squirrel

    我的Notion Clowd.Squirrel Squirrel.Windows 是一组工具和适用于.Net的库,用于管理 Desktop Windows 应用程序的安装和更新. Squirrel.W ...

  3. 获取并检查系统负载\CPU\内存\磁盘\网络

    安装依赖 需要net-tools.namp! CentOS:yum -y install net-tools nmap Ubuntu:apt-get update && apt-get ...

  4. 在 Git 提交信息中使用 Emoji

    Gitmoji 旨在解释如何在 Git 提交消息时使用表情符号.在提交信息时使用表情符号,可以更容易地识别提交的目的或意图. Emoji 列表 :优化项目结构 / 代码格式 :art: ️ :性能提升 ...

  5. drools动态增加、修改、删除规则

    目录 1.背景 2.前置知识 1.如何动态构建出一个kmodule.xml文件 2.kmodule.xml应该被谁加载 3.我们drl规则内容如何加载 4.动态构建KieContainer 3.需求 ...

  6. Vulhub靶场搭建教程

    Vulhub靶机环境搭建 Vulhub地址: Vulhub下载地址 一.所需环境 1.Ubuntu16.04 2.最新版本Docker 二.安装之路 1.下载Ubuntu16.04下载地址(迅雷下载6 ...

  7. Istio 中实现客户端源 IP 的保持

    作者 尹烨,腾讯专家工程师, 腾讯云 TCM 产品负责人.在 K8s.Service Mesh 等方面有多年的实践经验. 导语 对于很多后端服务业务,我们都希望得到客户端源 IP.云上的负载均衡器,比 ...

  8. 【物联网串口服务器通信经验教程】Modbus网关协议转换

    在前面的文章中,我们已经详细地介绍了Modbus网关的几种主要类型,今天,就让我们来介绍一下其中简单协议转换的处理过程. 简单协议转换是最常规.最普遍的Modbus网关功能,也是数据处理效率最高Mod ...

  9. VTK 在WINDOWS上的安装使用

    参考:http://www.vtk.org/Wiki/VTK/Building/Windows#Step_5_-_Open_the_Visual_Studio_project

  10. 手把手教学~基于element封装tree树状下拉框

    在日常项目开发中,树状下拉框的需求还是比较常见的,但是element并没有这种组件以供使用.在这里,小编就基于element如何封装一个树状下拉框做个详细的介绍. 通过这篇文章,你可以了解学习到一个树 ...