前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GreatSQL配置到系统systemd服务

GreatSQL配置到系统systemd服务

作者头像
bisal
发布2022-04-11 09:48:28
2350
发布2022-04-11 09:48:28
举报
文章被收录于专栏:bisal的个人杂货铺

GreatSQL历史文章,

GreatSQL单机环境安装

国产数据库之-GreatSQL

我们单机版安装用的是mysql.server start启动的数据库,但从标准化管理的角度,使用systemd更加合适,我们参考《技术分享 | 将GreatSQL添加到系统systemd服务》,进行下配置。

systemd是Linux系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其他进程,systemd被设计用来改进原来sysvinit中的多个缺点。

1. 服务程序脚本

CentOS 7的systemd服务程序脚本存放在/usr/lib/systemd/目录下,并区分system和user,每一个服务程序脚本以.service结尾,例如/usr/lib/systemd/system/sshd.service。

为了配置GreatSQL到systemd,我们需要一些辅助的脚本,GreatSQL标准二进制包中没提供这些,可以从下面这个链接中下载,Ansible安装包提供了这几个文件,如果是rpm包安装,会自动配好systemd。

https://gitee.com/GreatSQL/GreatSQL-Ansible/tree/master/mysql-support-files

3894558c66a62e271e764dc902532b3c.png
3894558c66a62e271e764dc902532b3c.png

greatsql.service是GreatSQL的服务程序脚本,需要放到/usr/lib/systemd/system,内容如下,

代码语言:javascript
复制
[Unit]
Description=GreatSQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
Type=notify
TimeoutSec=0
PermissionsStartOnly=true
ExecStartPre=/opt/mysql/GreatSQL/bin/mysqld_pre_systemd
ExecStart=/opt/mysql/GreatSQL/bin/mysqld $MYSQLD_OPTS
EnvironmentFile=-/etc/sysconfig/mysql
LimitNOFILE = 10000
Restart=on-failure
RestartPreventExitStatus=1
Environment=MYSQLD_PARENT_PID=1
PrivateTmp=false

2. 其他配置文件

(1) 需要将数据库的my.cnf配置文件复制到/etc路径下。

(2) 需要将如上下载到的sysconfig/mysql配置文件复制到/etc/sysconfig,内容如下,这是为了能让GreatSQL启动时加载jemalloc,获得更好的内存管理性能,

代码语言:javascript
复制
cat mysql
LD_PRELOAD=/usr/lib64/libjemalloc.so.1

3. 启动GreatSQL服务

将GreatSQL服务正式加载到systemd列表中,这就会自动将GreatSQL这个新服务加载进来了,

代码语言:javascript
复制
[root@bisal~]# systemctl daemon-reload

启动服务,

代码语言:javascript
复制
[root@bisal~]# systemctl start greatsql
或者
[root@bisal~]# systemctl start greatsql.service

mysql.error.log记录如下,

代码语言:javascript
复制
[mysql@bisal logs]$ tail -f mysql.error.log
2022-04-05T09:00:32.363066+08:00 0 [Warning] [MY-010097] [Server] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Consider setting it to a valid, non-empty path.
2022-04-05T09:00:32.363131+08:00 0 [System] [MY-010116] [Server] /opt/mysql/GreatSQL/bin/mysqld (mysqld 8.0.25-15) starting as process 24903
2022-04-05T09:00:32.482816+08:00 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-04-05T09:00:32.907440+08:00 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2022-04-05T09:00:33.291026+08:00 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /tmp/mysqlx.sock
2022-04-05T09:00:33.500896+08:00 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2022-04-05T09:00:33.501261+08:00 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel.
2022-04-05T09:00:33.602927+08:00 0 [System] [MY-010931] [Server] /opt/mysql/GreatSQL/bin/mysqld: ready for connections. Version: '8.0.25-15'  socket: '/opt/mysql/data/tmp/mysql.3306.sock'  port: 3306  GreatSQL, Release 15, Revision c7feae175e0.

可以使用systemctl status greatsql,查看服务状态,

代码语言:javascript
复制
[root@bisal bin]# systemctl status greatsql
● greatsql.service - GreatSQL Server
   Loaded: loaded (/usr/lib/systemd/system/greatsql.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2022-04-05 09:00:33 CST; 2min 2s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 24879 ExecStartPre=/opt/mysql/GreatSQL/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 24903 (mysqld)
   Status: "Server is operational"
   CGroup: /system.slice/greatsql.service
           └─24903 /opt/mysql/GreatSQL/bin/mysqld


Apr 05 09:00:31 bisal systemd[1]: Starting GreatSQL Server...
Apr 05 09:00:33 bisal systemd[1]: Started GreatSQL Server.

停止服务,

代码语言:javascript
复制
[root@bisal bin]# systemctl stop greatsql

mysql.error.log记录如下,

代码语言:javascript
复制
2022-04-05T09:00:00.647734+08:00 0 [System] [MY-013172] [Server] Received SHUTDOWN from user . Shutting down mysqld (Version: 8.0.25-15).
2022-04-05T09:00:03.513475+08:00 0 [System] [MY-010910] [Server] /opt/mysql/GreatSQL/bin/mysqld: Shutdown complete (mysqld 8.0.25-15)  GreatSQL, Release 15, Revision c7feae175e0.

启用开机启动,

代码语言:javascript
复制
[root@bisal bin]# systemctl enable greatsql
Created symlink from /etc/systemd/system/multi-user.target.wants/greatsql.service to /usr/lib/systemd/system/greatsql.service.

常用指令,

重载系统服务:systemctl daemon-reload

启用开机启动:systemctl enable greatsql

禁用开机启动:systemctl disable greatsql

启动服务:systemctl start greatsql

停止服务:systemctl stop greatsql

重启服务:systemctl restart greatsql

查看服务状态:systemctl status greatsql

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/04/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档