云客户?
免费开始>
在MyJFrog >中升级
云有什么新>







概述

通过使用MySQL,您可以受益于MySQL基础设施中的特性,如备份和恢复。

为了让Artifactory与MySQL一起运行,您必须创建一个专用的MySQL数据库实例,然后按照以下部分的描述配置Artifactory以使用它。

继续之前

在继续以下步骤之前,请确保您已阅读并遵循中描述的步骤配置数据库

页面内容



创建Artifactory MySQL数据库

支持的MySQL版本

Artifactory支持MySQL 5.7和8。xInnoDB引擎,这是默认提供的。

MySQL 5.5和5.6不再被支持,因为它们已经达到了他们的EOL;请用户升级到以上版本的MySQL。

Artifactory提供了一个脚本,用于执行创建MySQL数据库所需的SQL命令。

该脚本可以在美元JFROG_HOME / artifactory / app / misc / db / createdb / createdb_mysql.sql,如下所示。

您应该检查脚本并根据需要对其进行修改,以适应您的特定环境。

createdb.sqlScript
创建数据库artdb字符集utf8;创建用户'artifactory'@'%' IDENTIFIED BY 'password';授予所有在artdb。* TO 'artifactory'@'%';冲洗特权;

一旦您验证了脚本是正确的,您就需要运行它来创建数据库并继续配置数据库。

选择区分大小写的排序规则

虽然MySQL数据库服务器默认情况下不区分大小写,但选择区分大小写的排序规则很重要,因为Artifactory是区分大小写的。

例如,在createdb.sqlCOLLATE上面的脚本设置为"utf8_bin”

不支持UTF8MB4。我们建议您使用默认的“utf8_bin”。

Artifactory特权

我们建议为Artifactory提供数据库上的全部特权




配置Artifactory使用MySQL

  1. 下载MySQL JDBC驱动程序(可从MySQL网站).
    选择选项P地台独立选项中的选择操作系统下拉列表,单击下载在tar.gz或zip选项旁边,并将其解压缩以获得jar文件。
    您可以选择注册或登录,或者单击不用了,谢谢,开始下载吧下载文件。

  2. 复制mysql-connector-j——<版本>. jar文件到$JFROG_HOME/artifactory/var/bootstrap/artifactory/tomcat/lib目录。

    权限

    中的其他文件具有相同的权限,请确保您的驱动程序具有相同的权限美元JFROG_HOME / artifactory / var目录中。

  3. 中调整数据库连接详细信息system.yaml.configuration文件

    例如
    shared: database: type: mysql driver: com.mysql.jdbc.Driver url: jdbc:mysql://<您的db url,例如:localhost:3306>/artdb?characterEncoding=UTF-8&elideSetAutoCommits=true&useSSL=false username: artifactory password:密码



在MySQL中存储blob

建议的(和推荐的)配置将所有工件信息存储在MySQL中,而工件二进制数据存储在文件系统(下面)中$ JFROG_HOME / artifactory/var/data/artifactory / filestore).

当它是不推荐,在MySQL中存储BLOB是可能的,前提是典型的BLOB大小相对较小。在MySQL中存储大的blob可能会导致内存问题,因为MySQL会缓冲blob而不是将它们流式传输(请参阅MySQL Bug #15089),并可能导致OutOfMemory根据您的JVM堆大小,产生较大二进制文件的错误。

要在MySQL中存储blob,您需要使用Full-DB和Full-DB- direct二进制提供程序和改变max_allowed_packet要高于您打算在Artifactory中存储的最大工件大小。



增加MySQL默认数据包大小

由于一些数据文件(构建,配置等)存储在MySQL中,因此增加MySQL使用的最大允许数据包大小以避免与大数据包相关的错误是非常重要的。

(请参阅MySQL文档:数据包太大).

建议在/etc/my.cnf文件如下:

修改/etc/my.cnf
# MySQL服务器:mysqld服务器可以处理的二进制负载的最大大小max_allowed_packet=8M。

/etc/my.cnf绝对路径

如果/etc/my.cnf不存在它应该创建下的绝对路径,而不是下JFROG_HOME美元

重新启动要求

修改最大允许的打包大小后,需要重新启动MySQL

您也可以使用命令行

您还可以更改max_allowed_packet在MySQL命令行中输入变量,示例如下:

集全球Max_allowed_packet = 134217728;

但是请注意,在重新启动时,的值max_allowed_packet变量将从/etc/my.cnf文件并恢复到上面描述的该文件中的值。



为Artifactory调优MySQL

当使用Artifactory和MySQL一起使用时,建议使用InnoDB引擎,并在/etc/my.cnf文件:

MySQL参数调优
# MySQL服务器:mysqld默认情况下,innodb引擎为所有数据库和表使用一个文件。我们建议将其更改为每个表一个文件。#注意:只有在Artifactory表尚未创建时才会生效!第一次启动Artifactory前需要设置并重新启动MySQL。innodb_file_per_table #这些是调优参数,可以设置来控制和增加内存缓冲区的大小。innodb_buffer_pool_size=1536M tmp_table_size=512M max_heap_table_size=512M #这些参数控制着innodb日志文件的大小,只能在MySQL关闭时修改,如果datadir中还有一些innodb日志文件,MySQL将不会启动。因此,更改这些文件意味着在启动之前删除旧的innodb日志文件。innodb_log_buffer_size=4M。

重新启动要求

调优后,需要重新启动MySQL

版权所有©2023 JFrog Ltd。