创建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
,如下所示。
您应该检查脚本并根据需要对其进行修改,以适应您的特定环境。
创建数据库artdb字符集utf8;创建用户'artifactory'@'%' IDENTIFIED BY 'password';授予所有在artdb。* TO 'artifactory'@'%';冲洗特权;
一旦您验证了脚本是正确的,您就需要运行它来创建数据库并继续配置数据库。
选择区分大小写的排序规则
虽然MySQL数据库服务器默认情况下不区分大小写,但选择区分大小写的排序规则很重要,因为Artifactory是区分大小写的。
例如,在createdb.sql
COLLATE上面的脚本设置为"utf8_bin”
.
不支持UTF8MB4。我们建议您使用默认的“utf8_bin”。
Artifactory特权
我们建议为Artifactory提供数据库上的全部特权
配置Artifactory使用MySQL
下载MySQL JDBC驱动程序(可从MySQL网站).
选择选项P地台独立选项中的选择操作系统下拉列表,单击下载在tar.gz或zip选项旁边,并将其解压缩以获得jar文件。
您可以选择注册或登录,或者单击不用了,谢谢,开始下载吧下载文件。复制
mysql-connector-j——<版本>
. jar
文件到$JFROG_HOME/artifactory/var/bootstrap/artifactory/tomcat/lib目录。权限
中的其他文件具有相同的权限,请确保您的驱动程序具有相同的权限
美元JFROG_HOME / artifactory / var
目录中。中调整数据库连接详细信息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
文件如下:
# 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服务器: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