本文最后更新于:2024年4月21日 晚上
1、MySQL安装 推荐Mysql5.7版本,安装过程及基础配置参考:https://blog.csdn.net/qq_44281591/article/details/117935147
数据库状态检查:正常运行为active状态
查看临时密码:
1 2 3 grep 'temporary password' /var/log/mysqld.log# 返回如下:localhost后所接的是临时密码 2024-04-14T15:50:51.690115Z 1 [Note] A temporary password is generated for root@localhost: lK%kU!jLM3kP
修改数据库密码:
1 2 # 一路y,中间会替换user及root用户的密码,一共修改四个密码,建议统一 mysql_secure_installation
用新密码登录:
2、配置数据库 2.1、创建confluence数据库 Confluence创建对应的数据库,并配置UTF8字符集:
注意: 很多教程会将字符集配置为utf8_bin,但实际confluence是不支持的,按照官方的要求 ,要求字符集为utf8mb4,否则会出现下列问题:
1 create database confluence default character set utf8mb4 collate utf8mb4_bin;
授权confluence用户权限:
1 2 # grant all on Linux用户名.* to 'mysql用户名' @'%' identified by '填入数据库访问密码' ; grant all on confluence.* to 'confluence' @'%' identified by '填入数据库访问密码' ;
刷新权限:
检查是否添加成功:
1 2 use mysqlselect host,user from user ;
添加成功能够正常查询到confluence用户:
完整一键指令:
1 mysql - uroot - p - e "create database confluence default character set utf8mb4 collate utf8mb4_bin;grant all on confluence.* to 'confluence'@'%' identified by '填入数据库访问密码';flush privileges;"
2.2、MySQL隔离等级配置 这里如果数据库设置不符合要求在后面的confluence安装中可能会提示”Confluence设置MySQL数据库报错:必须使用’READ-COMMITTED’作为默认隔离级别。”修复方法:
1 2 3 4 # 登录数据路 mysql -u root -p# 修改MySQL隔离级别 SET GLOBAL tx_isolation='READ-COMMITTED';
2.3、MySQL配置文件修改 修改mysql配置
1 2 cat /etc/my.cnf vim /etc/my.cnf
数据库配置文件修改:
1 2 3 4 5 6 7 8 9 10 [mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_bin default-storage-engine=INNODB max_allowed_packet=256M innodb_log_file_size=2GB transaction-isolation=READ-COMMITTED binlog_format=row log-bin-trust-function-creators=1 optimizer_switch=derived_merge=off
如果有下面这一行,删掉:
1 2 // remove this if it exists sql_mode = NO_AUTO_VALUE_ON_ZERO
配置完成后重启mysql服务:
1 systemctl restart mysqld
此步骤参考官方文档:
3、confluence配置MySQL驱动 3.1、下载JDBC驱动 maven开源仓库下载对应JDBC驱动,这里我选择5.19版本:https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/
使用wget指令在Linux设备上下载至本地:
1 wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.49/mysql-connector-java-5.1.49.jar
3.2、confluence配置MySQL驱动 在未装JDBC前,confluence数据库配置页面如下:无法正常驱动MySQL
移动JDBC jar文件至confluence配置路径:
1 2 3 mv mysql-connector-java-5.1.49.jar /usr/local/software/confluence/confluence/WEB-INF/lib# 检查是否移动成功 ll /usr/local/software/confluence/confluence/WEB-INF/lib | grep mysql-
4、confluence配置MySQL 在完成前几节的配置之后,重启 Confluence 并继续安装过程:
1 2 3 4 # 关闭confluence /usr/local/software/confluence/bin/stop-confluence.sh# 开启confluence /usr/local/software/confluence/bin/start-confluence.sh
Linux浏览器打开confluence页面:https://localhost:5050
之后,配置完JDBC进入数据库配置页面会显示如下:
通过连接字符串连接:
注意: 上面配置字符集为utf8mb4,此处配置要求为utf8
1 jdbc:mysql://localhost:3306/confluence?sessionVariables=tx_isolation='READ-COMMITTED'&useUnicode=true&characterEncoding=utf8
在经过上述的配置重启数据后,刷新页面重新连接,测试通过后进入下一步安装:
配置中:
配置完成后会自动进入confluence初始化配置界面,不在此处说明。
5、拓展:utf8字符集错误解决步骤细节 解决方法:
1 /usr/local/software/confluence/bin/stop-confluence.sh
由于前面已经修改/etc/my.cnf
配置文件,其中确保有下面两处配置:
1 2 character-set-server=utf8mb4 collation-server=utf8mb4_bin
修改完成后重启mysql服务。
3、修改数据库、表、字段的字符集和collation
登录mysql:
修改confluence数据库字符集:
1 2 3 4 SET FOREIGN_KEY_CHECKS= 0 ;/ / To Change database collation :数据库修改ALTER DATABASE confluence CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
最后执行下面:
1 SET FOREIGN_KEY_CHECKS=1;
1 /usr/local/software/confluence/bin/start-confluence.sh
Tips 一般情况下,建议按照2.1、创建confluence数据库 小节在新建数据库时指定正确的字符编码,避免后续数据库中部分表或文本出现字符错误,出现隐藏的问题。
全文参考:
https://developer.aliyun.com/article/1071437
https://www.cnblogs.com/wjoyxt/p/10689883.html
https://developer.aliyun.com/article/439166
https://www.cnblogs.com/LOVEYU/p/13684158.html