5.使用Artifactory。x ?
JFrog Artifactoryx用户指南
有问题吗?想要报告问题?联系JFrog支持
概述
通过使用MySQL,您可以受益于MySQL基础设施中的特性,如备份、恢复和高可用性。
为了让Artifactory与MySQL一起运行,您必须创建一个专用的MySQL数据库实例,然后按照以下部分的描述配置Artifactory以使用它。
继续之前
在继续以下步骤之前,请确保您已阅读并遵循中描述的步骤配置数据库.
页面内容
创建Artifactory MySQL数据库
支持的MySQL版本
Artifactory支持MySQL v5.5及以上版本InnoDB
默认提供的引擎。
Artifactory提供了一个脚本,用于执行创建MySQL数据库所需的SQL命令。
该脚本可以在$ ARTIFACTORY_HOME / misc / db / createdb / createdb_mysql.sql
,如下所示。
您应该检查脚本并根据需要对其进行修改,以适应您的特定环境。
创建数据库artdb字符集utf8;授予所有在artdb。* 'artifactory'@'localhost' IDENTIFIED BY 'password';冲洗特权;
选择区分大小写的排序规则
虽然MySQL数据库服务器默认情况下不区分大小写,但选择区分大小写的排序规则很重要,因为Artifactory是区分大小写的。
例如,在createdb.sql
COLLATE上面的脚本设置为"utf8_bin”
.
Artifactory特权
我们建议为Artifactory提供数据库上的全部特权
增加MySQL默认数据包大小
由于一些数据文件(构建,配置等)存储在MySQL中,因此增加MySQL使用的最大允许数据包大小以避免与大数据包相关的错误是非常重要的。
(请参阅MySQL文档:数据包太大).
建议在/etc/my.cnf
文件如下:
# MySQL服务器:mysqld服务器可以处理的二进制负载的最大大小max_allowed_packet=8M。
/etc/my.cnf绝对路径
如果/etc/my.cnf
不存在它应该创建下的绝对路径,而不是下ARTIFACTORY_HOME美元
重新启动要求
修改最大允许的打包大小后,需要重新启动MySQL
为Artifactory调优MySQL
当使用Artifactory和MySQL一起使用时,建议使用InnoDB引擎,并在/etc/my.cnf
文件:
# 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
配置Artifactory使用MySQL
复制
ARTIFACTORY_HOME / misc / db / mysql.properties美元
来美元ARTIFACTORY_HOME / etc / storage.properties
(如果您没有这个文件,您可以从独立的zip发行版或直接从JFrog域).有关此文件内容的完整说明,请参阅捆绑存储配置.- 中的连接定义进行调整
美元ARTIFACTORY_HOME / etc / storage.properties
文件来匹配您创建的Artifactory数据库的属性。
您必须配置要使用的数据库URL和用户名/密码。模式和表是在使用新数据库第一次运行Artifactory时创建的。 下载MySQL JDBC驱动程序(可从MySQL网站),并复制
mysql-connector-java——<版本> . jar
文件到服务器的共享lib目录。
例如$ TOMCAT_HOME /自由
当安装为服务或$ ARTIFACTORY_HOME / tomcat / lib
在独立版本中。权限
确保您的驱动程序与共享lib目录中的其他文件具有相同的权限。
- Artifactory开始。
在MySQL中存储blob
建议的(和推荐的)配置将所有工件信息存储在MySQL中,而工件二进制数据存储在文件系统(下面)中ARTIFACTORY_HOME /数据/ filestore美元
).
当它是不推荐,在MySQL中存储BLOB是可能的,前提是典型的BLOB大小相对较小。在MySQL中存储大的blob会导致内存问题,因为MySQL缓冲区blob而不是流它们(请参考MySQL Bug #15089),并可能导致OutOfMemory
根据您的JVM堆大小,产生较大二进制文件的错误。
要在MySQL中存储blob,请在storage.propreties
文件集binary.provider.type = fullDb
和改变max_allowed_packet
要高于您打算在Artifactory中存储的最大工件大小。