关于 GreatSQL
GreatSQL开源数据库是适用于金融级应用的国内自主MySQL版本,专注于提升MGR可靠性及性能,支持InnoDB并行查询等特性,可以作为MySQL或Percona Server的可选替换,用于线上生产环境,且完全免费并兼容MySQL或Percona Server。
GreatSQL除了提升MGR性能及可靠性,还引入InnoDB事务锁优化及并行查询优化等特性,以及众多BUG修复。
一、环境准备
环境信息
操作系统(麒麟os):4.19.90-25.14.v2101.ky10.aarch64 #1 SMP Fri Apr 15 11:21:31 CST 2022 aarch64 aarch64 aarch64 GNU/Linux
二进制包(greatsql):GreatDB-5.1.9-GA-1-2e243b28-Linux-glibc2.17-aarch64.tar.xzm
复制
目录规划
/data/greatdb/install #数据库软件
/data/greatdb/data #数据文件
/data/greatdb/conf #配置文件
/data/greatdb/tmp #临时目录
复制
配置文件
vi /data/greatdb/conf/my.cnf
[client]
socket = /data/greatdb/tmp/greatdb.sock
[mysqld]
port = 3306
server-id = 13306
mysqlx_port = 23306
#路径
basedir = /data/greatdb/install
datadir = /data/greatdb/data
socket = /data/greatdb/tmp/greatdb.sock
mysqlx_socket = /data/greatdb/tmp/mysqlx.sock
plugin_dir = /data/greatdb/install/lib/plugin
log-error = /data/greatdb/data/error.log
back_log = 5000
binlog_format = row
binlog_ignore_db = dbscale_tmp
character_set_server = utf8
enforce_gtid_consistency = 1
expire_logs_days = 7
federated = 1
gtid_mode = on
innodb_buffer_pool_instances = 8
innodb_buffer_pool_size = 2G
innodb_change_buffering = all
innodb_doublewrite = true
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 1
innodb_flush_method = O_DIRECT
innodb_io_capacity = 8000
#innodb_locks_unsafe_for_binlog = 1
innodb_log_buffer_size = 256M
innodb_log_file_size = 1G
innodb_log_files_in_group = 4
innodb_print_all_deadlocks = on
innodb_read_io_threads = 16
innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:81920M
innodb_thread_concurrency = 64
innodb_write_io_threads = 16
interactive_timeout = 31536000
lock_wait_timeout = 600
log_bin = greatdb-bin
log_bin_trust_function_creators = 1
log_slave_updates = 1
log_timestamps = SYSTEM
long_query_time = 0.05
lower_case_table_names = 1
master_info_repository = TABLE
max_allowed_packet = 16M
max_connections = 20480
max_prepared_stmt_count = 1048576
net_read_timeout = 10000
net_write_timeout = 10000
open_files_limit = 1000000
plugin_load=rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so
relay_log = greatdb-relay
relay_log_info_repository = TABLE
skip_external_locking = 1
skip_name_resolve = 1
skip_slave_start = 1
slave_parallel_type = LOGICAL_CLOCK
slave_parallel_workers = 16
slave_pending_jobs_size_max = 2147483648
slave_preserve_commit_order = on
slave_rows_search_algorithms = INDEX_SCAN,HASH_SCAN
slow_query_log = on
sort_buffer_size = 2M
#sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
ssl = OFF
sync_binlog = 1
table_definition_cache = 5000
table_open_cache = 5000
thread_cache_size = 3000
tmpdir = /data/greatdb/tmp
transaction_isolation = READ-COMMITTED
wait_timeout = 31536000
transaction_write_set_extraction=XXHASH64
binlog_transaction_dependency_tracking=WRITESET
复制
二、安装步骤
二进制安装
#1、创建用户
groupadd greatdb
useradd -r -g greatdb greatdb
mkdir /home/greatdb
chmod 755 /home/greatdb
cp -a /etc/skel/. /home/greatdb/
#2、创建目录、赋权
mkdir /data/greatdb/{data,install,conf,tmp}
chown -R greatdb.greatdb /data/greatdb
#3、解压
su - greatdb
tar xvf GreatDB-5.1.9-GA-1-2e243b28-Linux-glibc2.17-aarch64.tar.xz -C /data/greatdb/install/
cd /data/greatdb/install/GreatDB-5.1.9-GA-1-2e243b28-Linux-glibc2.17-aarch64
mv * ..
#4、实例初始化,初始化前,需要编辑配置文件
su - greatdb
cd /data/greatdb/install/
./bin/greatdbd --defaults-file=/data/greatdb/conf/my.cnf --datadir=/data/greatdb/data --initialize-insecure --user=greatdb
#5、启动服务
cd /data/greatdb/install/
./bin/greatdbd_safe --defaults-file=/data/greatdb/conf/my.cnf --user=greatdb &
#6、启动检查 (正常应该有greatdbd_safe进程和greatdbd两个进程)
ps -ef|grep greatdb
复制
三、登入GreatSQL
首次登入GreatSQL前,需要先找到初始化时随机生成的root密码:
$ grep root /data/greatdb/data/error.log
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: dt_)MtExl594
复制
其中的 dt_)MtExl594 就是初始化时随机生成的密码,在登入GreatSQL时输入该密码:
#首次登录通过sock
cd /data/greatdb/install/
./bin/greatdb -hlocalhost -P3306 -uroot -p -S /data/greatdb/tmp/greatdb.sock
复制
首次登入立刻提醒该密码已过期,需要修改,执行类似下面的命令修改即可:
mysql> ALTER USER USER() IDENTIFIED BY 'GreatSQL-8025~%';
Query OK, 0 rows affected (0.02 sec)
复制
之后就可以用这个新密码再次登入GreatSQL了。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
文章被以下合辑收录
评论
这个刚好用上,直接使用了
3月前

评论
相关阅读
2025年2月国产数据库中标情况一览:GoldenDB 3500+万!达梦近千万!
通讯员
922次阅读
2025-03-06 11:40:20
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
469次阅读
2025-03-13 14:38:19
你看这红牛又慢又快,像不像侧箱上的Oracle
多明戈教你玩狼人杀
220次阅读
2025-03-28 10:12:13
Navicat 17.2 正式发布 | AI 助手、支持 Snowflake...超多新功能等你解锁
Navicat
209次阅读
2025-03-14 14:13:33
套壳论
梧桐
200次阅读
2025-03-09 10:58:17
Apache Doris 2.1.9 版本正式发布
SelectDB
47次阅读
2025-04-03 17:40:15
KingbaseES V9单机扩容至RWC集群
智慧同学
39次阅读
2025-03-22 18:02:18
GreatSQL 为何选择全表扫描而不选索引
GreatSQL
25次阅读
2025-03-21 10:10:55
数据库选型测试经验分享
17364520545
22次阅读
2025-03-31 18:29:14
九有数据库完成A轮融资,大米创投领投。
朱凌浩 LEONARDO
21次阅读
2025-03-31 11:28:04
TA的专栏
热门文章
mysql报错: The innodb_system data file 'ibdata1' must be writable
2023-05-25 4553浏览
手把手教你写一篇《MySQL数据库巡检报告》
2024-06-14 4199浏览
my2sql闪回工具-通过binlog实现MySQL误操作数据恢复
2023-05-22 3010浏览
[Xtrabackup] Found tables with row versions due to INSTANT ADD/DROP columns
2023-05-21 2174浏览
mysql IPv6双栈改造的一些经验和心得
2024-05-29 1761浏览
目录