二进制包安装
本文档主要介绍如何用二进制包方式安装GreatSQL数据库,假定本次安装是在CentOS 8.x x86_64环境中安装,并且是以root用户身份执行安装操作。
下载安装包
点击此处
(opens new window)下载最新的安装包,下载以下文件:
- GreatSQL-8.0.32-24-Linux-glibc2.28-x86_64-minimal.tar.xz
运行环境配置
关闭selinux和防火墙
1. #关闭selinux
2. $ setenforce=0
3. $ sed -i '/^SELINUX=/c'SELINUX=disabled /etc/selinux/config
5. #关闭防火墙
6. $ systemctl disable firewalld
7. $ systemctl stop firewalld
8. $ systemctl disable iptables
9. $ systemctl stop iptables
另外,要先确认YUM源可用,因为安装GreatSQL时还要先安装其他依赖包,通过YUM安装最省事。
如果需要配置YUM源,可以参考这篇文档
(opens new window)。
安装依赖包
安装GreatSQL需要先安装其他依赖包,可执行下面命令完成: yum install -y pkg-config perl libaio-devel numactl-devel numactl-libs net-tools openssl openssl-devel jemalloc jemalloc-devel perl-Data-Dumper perl-Digest-MD5 更详细的请参考:安装准备。
下载二进制包并安装
将下载的二进制包放在安装目录 /usr/local/ 下,并解压缩:
1. # 下载
2. $ cd /usr/local
3. $ wget https://product.greatdb.com/GreatSQL-8.0.32-24/GreatSQL-8.0.32-24-Linux-glibc2.28-x86_64-minimal.tar.xz
4. #或者用curl
5. $ curl -o GreatSQL-8.0.32-24-Linux-glibc2.28-x86_64-minimal.tar.xz https://product.greatdb.com/GreatSQL-8.0.32-24/GreatSQL-8.0.32-24-Linux-glibc2.28-x86_64-minimal.tar.xz
7. #解压缩
8. $ tar xf GreatSQL-8.0.32-24-Linux-glibc2.28-x86_64-minimal.tar.xz
编辑systemd系统服务文件,增加GreatSQL服务文件:
1. $ vim /lib/systemd/system/greatsql.service
3. [Unit]
4. Description=GreatSQL Server
5. Documentation=man:mysqld(8)
6. Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
7. After=network.target
8. After=syslog.target
9. [Install]
10. WantedBy=multi-user.target
11. [Service]
13. # some limits
14. # file size
15. LimitFSIZE=infinity
16. # cpu time
17. LimitCPU=infinity
18. # virtual memory size
19. LimitAS=infinity
20. # open files
21. LimitNOFILE=65535
22. # processes/threads
23. LimitNPROC=65535
24. # locked memory
25. LimitMEMLOCK=infinity
26. # total threads (user+kernel)
27. TasksMax=infinity
28. TasksAccounting=false
30. User=mysql
31. Group=mysql
32. #如果是GreatSQL 5.7版本,此处需要改成simple模式,否则可能服务启用异常
33. #如果是GreatSQL 8.0版本则可以使用notify模式
34. #Type=simple
35. Type=notify
36. TimeoutSec=0
37. PermissionsStartOnly=true
38. ExecStartPre=/usr/local/GreatSQL-8.0.32-24-Linux-glibc2.28-x86_64-minimal/bin/mysqld_pre_systemd
39. ExecStart=/usr/local/GreatSQL-8.0.32-24-Linux-glibc2.28-x86_64-minimal/bin/mysqld $MYSQLD_OPTS
40. EnvironmentFile=-/etc/sysconfig/mysql
41. LimitNOFILE = 10000
42. Restart=on-failure
43. RestartPreventExitStatus=1
44. Environment=MYSQLD_PARENT_PID=1
45. PrivateTmp=false
务必确认文件中目录及文件名是否正确。
执行命令重载systemd,加入 greatsql 服务,如果没问题就不会报错:
1. $ systemctl daemon-reload
这就安装成功并将GreatSQL添加到系统服务中,后面可以用 systemctl 来管理GreatSQL服务。
编辑GreatSQL全局配置文件 /etc/my.cnf,加入下面内容:
1. $ vim /etc/my.cnf
2. [mysql]
3. socket=/var/lib/mysql/mysql.sock
5. [mysqld]
6. user=mysql
7. datadir=/var/lib/mysql
8. socket=/var/lib/mysql/mysql.sock
10. log-error=/var/log/mysqld.log
11. pid-file=/var/run/mysqld/mysqld.pid
保存退出。
创建mysql系统用户:
1. $ /sbin/groupadd mysql
2. $ /sbin/useradd -g mysql mysql -d /dev/null -s /sbin/nologin
创建相关文件夹,并修改用户组:
1. mkdir /var/run/mysqld/ /var/lib/mysql-files/ /var/lib/mysql/
3. chown mysql:mysql /var/run/mysqld/ /var/lib/mysql-files/ /var/lib/mysql/ /usr/local/GreatSQL-8.0.32-24-Linux-glibc2.28-x86_64-minimal/
编辑mysqld_pre_systemd脚本文件,修改程序目录:
将文件中的 /usr/local/GreatSQL-8.0.32-24-Linux-glibc2.28-x86_64/改为实际安装目录。
启动GreatSQL
执行下面的命令启动GreatSQL服务
1. $ systemctl start greatsql
检查服务是否已启动,以及进程状态:
1. $ systemctl status greatsql
2. ● greatsql.service - GreatSQL Server
3. Loaded: loaded (/usr/lib/systemd/system/greatsql.service; disabled; vendor preset: disabled)
4. Active: active (running) since Wed 2022-07-06 13:42:35 CST; 2min 42s ago
5. Docs: man:mysqld(8)
6. http://dev.mysql.com/doc/refman/en/using-systemd.html
7. Process: 47924 ExecStartPre=/usr/local/GreatSQL-8.0.32-24-Linux-glibc2.28-x86_64-minimal/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
8. Main PID: 47994 (mysqld)
9. Status: "Server is operational"
10. Tasks: 38 (limit: 149064)
11. Memory: 444.5M
12. CGroup: /system.slice/greatsql.service
13. └─47994 /usr/local/GreatSQL-8.0.32-24-Linux-glibc2.28-x86_64-minimal/bin/mysqld
15. Jul 06 13:42:30 db170 systemd[1]: Starting GreatSQL Server...
16. Jul 06 13:42:35 db170 systemd[1]: Started GreatSQL Server.
18. $ ps -ef | grep mysqld
19. mysql 47994 1 2 13:42 ? 00:00:03 /usr/local/GreatSQL-8.0.32-24-Linux-glibc2.28-x86_64-minimal/bin/mysqld
21. $ ss -lntp | grep mysqld
22. LISTEN 0 70 *:33060 *:* users:(("mysqld",pid=47994,fd=23))
23. LISTEN 0 128 *:3306 *:* users:(("mysqld",pid=47994,fd=26))
25. # 查看数据库文件
26. $ ls /var/lib/mysql
27. auto.cnf ca-key.pem client-key.pem ib_buffer_pool ib_logfile1 mysql mysql.sock.lock public_key.pem sys
28. binlog.000001 ca.pem '#ib_16384_0.dblwr' ibdata1 ibtmp1 mysql.ibd performance_schema server-cert.pem undo_001
29. binlog.index client-cert.pem '#ib_16384_1.dblwr' ib_logfile0 '#innodb_temp' mysql.sock private_key.pem server-key.pem undo_002
可以看到,GreatSQL服务已经正常启动了。
连接登入GreatSQL
采用minimal二进制包安装GreatSQL后,通过log-error日志查看初始化密码,即可登入。
1. $ cat /var/log/mysqld.log|grep password
2. [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: NrkNcJya<9f6
1. $ /usr/local/GreatSQL-8.0.32-24-Linux-glibc2.28-x86_64-minimal/bin/mysql -uroot
2. Welcome to the MySQL monitor. Commands end with ; or \g.
3. Your MySQL connection id is 8
4. Server version: 8.0.32-24 GreatSQL, Release 24, Revision 3714067bc8c
6. Copyright (c) 2021-2023 GreatDB Software Co., Ltd
7. Copyright (c) 2009-2021 Percona LLC and/or its affiliates
8. Copyright (c) 2000, 2021, Oracle and/or its affiliates.
9. ...
10. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
12. greatsql> \s
13. --------------
14. mysql Ver 8.0.32-24 for Linux on x86_64 (GreatSQL, Release 24, Revision 3714067bc8c)
16. Connection id: 8
17. Current database:
18. Current user: root@localhost
19. SSL: Not in use
20. Current pager: stdout
21. Using outfile: ''
22. Using delimiter: ;
23. Server version: 8.0.32-24 GreatSQL, Release 24, Revision 3714067bc8c
24. Protocol version: 10
25. Connection: Localhost via UNIX socket
26. Server characterset: utf8mb4
27. Db characterset: utf8mb4
28. Client characterset: utf8mb4
29. Conn. characterset: utf8mb4
30. UNIX socket: /var/lib/mysql/mysql.sock
31. Binary data as: Hexadecimal
32. Uptime: 17 min 23 sec
34. Threads: 2 Questions: 12 Slow queries: 0 Opens: 120 Flush tables: 3 Open tables: 36 Queries per second avg: 0.011
35. --------------
37. greatsql> show databases; #<--查看数据库列表
38. +--------------------+
39. | Database |
40. +--------------------+
41. | information_schema |
42. | mysql |
43. | performance_schema |
44. | sys |
45. +--------------------+
46. 4 rows in set (0.01 sec)
登录后及时修改密码
1. ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWORD'
关闭/重启GreatSQL
执行下面的命令关闭GreatSQL数据库。
1. $ systemctl stop greatsql
执行下面的命令重启GreatSQL数据库。
1. $ systemctl restart greatsql
至此,二进制包方式安装GreatSQL数据库完成。
问题反馈
联系我们
扫码关注微信公众号

