创建人工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
,如下所示。
您应该查看脚本并根据需要对其进行修改,以符合您的特定环境。
创建数据库字符集utf8_bin;创建用户'artifactory'@'%' IDENTIFIED BY 'password'在艺术上给予一切。* TO 'artifactory'@'%';冲洗特权;
一旦您验证了脚本是正确的,您就需要运行它来创建数据库并继续配置数据库。
选择区分大小写的排序规则
虽然MySQL Database Server默认情况下不区分大小写,但是选择区分大小写的排序是很重要的,因为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://
/artdb?characterEncoding=UTF-8&elideSetAutoCommits=true&useSSL=false用户名:人工密码:密码
在MySQL中存储blob
建议的(和推荐的)配置将所有工件信息存储在MySQL中,而工件二进制数据存储在文件系统(在$ JFROG_HOME / artifactory
/var/data/artifactory / filestore
).
当它是不推荐,如果典型的BLOB大小相对较小,则可以在MySQL中存储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
变量,如下例所示:
集全球Max_allowed_packet = 134217728;
但是,请注意,在重新启动时,的值的max_allowed_packet
变量将从/etc/my.cnf
文件并恢复到该文件中的值,如上所述。
为Artifactory调优MySQL
在MySQL中使用Artifactory时,建议使用InnoDB引擎,并配置以下调优参数/etc/my.cnf
文件:
# MySQL服务器[mysqld]默认情况下,innodb引擎为所有数据库和表使用一个文件。我们建议将其更改为每个表一个文件。注意:只有在人工表还没有创建的情况下才会生效!第一次启动Artifactory前需要设置并重启MySQL。innodb_file_per_table #这些调优参数可以用来控制和增加内存缓冲区的大小。innodb_buffer_pool_size=1536M tmp_table_size=512M max_heap_table_size=512M #这些参数控制着innodb日志文件的大小,只有在MySQL关闭和数据库中有innodb日志文件导致MySQL无法启动时才可以修改。#所以,改变这些意味着在开始之前删除旧的innodb日志文件。innodb_log_buffer_size=4M。
重新启动要求
调优后,需要重新启动MySQL