中文标题【设置 MySQL 数据库】
1. 安装 MySQL 服务器
如果你还没有安装你的 MySQL 数据库,请先下载然后进行安装。请参考 MySQL documentation 页面中的内容来进行一步一步的安装。
2. 配置 MySQL 服务器
在这一步,你将要配置你的 MySQL 数据库服务器。
注意: 如果你尝试连接你的 Confluence 到一个已经存在的 MySQL 数据库服务器。我们强烈建议你按照下面描述的安装步骤在 MySQL 中运行配置步骤:
配置 MySQL 服务器:
- 运行 MySQL 安装指南:
- 如果你连接 Confluence 到一个已经存在的 MySQL 服务器,请选择 重新配置实例(Reconfigure Instance)。
- 选择 高级配置(Advanced Configuration)。
- 选择符合你硬件要求的合适的 MySQL 服务器类型(type of MySQL Server)。这个配置影响 MySQL 服务器使用的内存,磁盘和 CPU 资源大小。请参考 MySQL documentation 来获得更多的信息。
- 选择 仅事务数据库(Transactional Database Only),你需要为你的数据库选择使用 InnoDB 为默认的存储引擎。
你必须为你的 Confluence 选择 InnoDB 存储引擎。使用 MyISAM 存储引擎将让 Confluence 不能正常工作。 - 设置 InnoDB 表空间(InnoDB Tablespace)的设置(默认的设置是可以接受的)。
- 设置大致的 当前的连接数量(number of concurrent connections)来符合你 Confluence 使用的需求。你可以使用选择默认提供的选项,你也可以手动输入你希望的 MySQL 接受的连接数。请参考 MySQL documentation 来获得更多的信息。
- 针对 网络选项(networking options),确定 启用 TCP/IP 网络(Enable TCP/IP Networking)和 启用 Strict 模式(Enable Strict Mode),的选项被选择(默认被选择的)。请参考 networking 和 server SQL modes 文档来获得更多的信息。
- 针对 MySQL 服务器的 默认字符集设置(default character set),请选择 Best Support For Multilingualism (换句话说使用 UTF-8 字符集)。这个选择能够让 Confluence 支持所有的语言。请参考 Configuring Database Character Encoding 中的内容来获得更多的信息。
- 针对 Windows 的配置选择。你可以选择将 MySQL 安装成服务也可以不选择。如果你的硬件服务只被设置为用于 MySQL 服务器,你可能希望将 MySQL 安装成服务(Install As Windows Service),这个意思是能够自动启动 MySQL 以服务的方式。请参考 MySQL documentation 来获得更多的信息。
说明: 如果你选择不将 MySQL 安装成 Windows 的服务,你需要确定你的 MySQL 服务在你的 Confluence 连接到服务器上的时候已经启动了。 - 选择 修改安全设置(Modify Security Settings)来设置你 MySQL 服务器(root)账号的访问密码。
- 编辑你 MySQL 服务器上的
my.cnf
文件(在 Window 操作系统中是 my.ini
)。在这个文件中 [mysqld] 部分,对下面的一些参数进行修改:
(请参考 MySQL Option Files 来获得对my.cnf
和my.ini
修改的更多配置信息)
找到[mysqld]
部分,对下面的参数进行一些修改:设置服务器使用 UTF-8 字符集:
[mysqld] ... character-set-server=utf8 collation-server=utf8_bin ...
设置默认的存储引擎是 InnoDB:
[mysqld] ... default-storage-engine=INNODB ...
指定
max_allowed_packet
变量设置为 256M:[mysqld] ... max_allowed_packet=256M ...
指定
innodb_log_file_size
变量设置为至少 2GB:[mysqld] ... innodb_log_file_size=2GB ...
确定 sql_mode 参数不被指定为 NO_AUTO_VALUE_ON_ZERO
// remove this if it exists sql_mode = NO_AUTO_VALUE_ON_ZERO
确定全局事务的隔离级别被设置为 READ-COMMITTED.
[mysqld] ... transaction-isolation=READ-COMMITTED ...
检查 2 进制日志格式被配置使用为 'row-based' 为日志:
[mysqld] ... binlog_format=row ...
- 重启你的 MySQL 数据库服务器,确定你的设置已经生效了:
- 在 Windows 中,选择 Window 服务器管理来启动服务。
- 在 Linux :
- 运行下面的命令,基于你的设置:'
/etc/init.d/mysqld stop
' or '/etc/init.d/mysql stop
' 或 'service mysqld stop
'。 - 重新运行上面的命令,将命令中的 '
stop
' 替换为 'start
'。
- 运行下面的命令,基于你的设置:'
- 在 Mac OS X,运行 '
sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
'。
3. 创建数据库和数据库用户
一旦你成功的安装和配置了 MySQL 数据库服务器,你需要为你的 Confluence 创建数据库和数据库用户:
- 在 MySQL 中以超级用户运行 '
mysql
' 。默认的用户为 'root' 同时密码为空。 创建一个空的 Confluence 数据库实例(例如
confluence
):CREATE DATABASE <database-name> CHARACTER SET utf8 COLLATE utf8_bin;
创建一个 Confluence 数据库用户(例如
confluenceuser
):GRANT ALL PRIVILEGES ON <database-name>.* TO '<confluenceuser>'@'localhost' IDENTIFIED BY '<password>';
如果 Confluence 没有和你的 MySQL 数据库运行在同一个服务器上,你需要替换 localhost 为你的 Confluence 服务器访问你 MySQL 数据库的 Confluence 服务器主机名或者 IP 地址。
4. 安装 Confluence
请参考 Confluence Installation and Upgrade Guide 文档来参考 Confluence 如何一步一步的在你的系统上进行安装。
5. 下载和安装 MySQL 驱动
基于许可证的现在,我们没有将 MySQL 的数据库捆绑到 Confluence 中。需要将你的数据库驱动在 Confluence 中可用:
- 停止 Confluence。
- 访问 Database JDBC Drivers 页面然后下载正确的驱动。驱动文件被比较标记为类似
mysql-connector-java-5.1.xx-bin.jar
- 将 .jar 文件放置到你的
<installation-directory>/confluence/WEB-INF/lib
目录中。 - 重启 Confluence,然后在浏览器中访问
http://localhost:<port>
然后继续 Confluence 的安装进程。
6. 输入你的数据库细节
Confluence 的安装向导将会指导你一步一步的在 Confluence 中配置安装 MySQL 数据库。
使用 JDBC 连接(默认)
JDBC 是推荐的连接你的 Confluence 到数据库中的方式。
Confluence 的安装向导将会提供给你下面 2 种连接选项:
- 简单 —— 这个是最简单的方式来连接你的 Confluence 到数据库中。
- 通过连接字符串 —— 使用这个选项,你需要配置特定的参数同时你还需要具有数据库连接方面的一些只是来构建正确的连接 URL。
基于你设置的类型,你需要提供下面的一些参数。
设置类型 | 字段 | 描述 |
---|---|---|
简单(Simple) | 主机名(Hostname) | 你数据库服务器使用的主机名或者 IP 地址。 |
简单(Simple) | 端口( Port) | 这个是 MySQL 端口。如果你在安装 MySQL 的时候没有修改的话,默认端口是 3306 。 |
简单(Simple) | 数据库名(Database name) | 这是你 Confluence 数据库的名称,按照上面的例子,名称为 confluence |
通过连接字符串(By connection string) | 数据库 URL(Database URL) | 数据库 URL 使用的下面的格式: |
同时需要(Both) | 用户名(Username) | 你连接数据库需要使用的用户名,在上面的示例中,用户名是 confluenceuser 。 |
同时需要(Both) | 用户密码(Password) | 你连接数据库需要使用的用户名密码。 |
使用 JNDI 数据源
如果你希望使用 JDNI数据源,请参考 Configuring a datasource connection 中的内容来进行配置。你需要在启动 Confluence 之前进行配置,在设置向导中,Confluence 只使用在你 Tomcat 配置中提供的选项。
7. 测试你的数据库连接
在你的数据库设置界面,有一个 测试连接(Test connection)按钮可以检查:
- Confluence 可以连接你的数据库服务器
- 数据库字符集,隔离级别和存储引擎是正确的
- 你的数据库用户有正确的数据库权限
一旦上面的测试成功了,单击 下一步(Next )来继续进行 Confluence 的安装进程。
问题解决
如果 Confluence 提示没有 class 文件,你可能将你的 JDBC 驱动放置到了错误的文件夹。
- 如果你收到了下面的错误信息,请确认
confluenceuser
用户已经具有了所有需求的数据库权限,当你使用localhost
进行连接的时候。 Could not successfully test your database: : Server connection failure during transaction. Due to underlying exception: 'java.sql.SQLException: Access denied for user 'confluenceuser'@'localhost' (using password: YES)'
下面的连接包含了一些你在使用 MySQL 数据库连接的时候可能会遇到的常见问题,请参考:Known issues for MySQL。