MySQL 5.7 是Atlassian官方目前对MySQL支持最全的版本,本版本经过Atlassian各个产品的测试。建议装次版本
1、卸载系统自带Mariadb
Centos7 已经不自带MySQL,自带内部集成了Mariadb,而安装MySQL的话会和Mariadb的文件冲突,所以需要先卸载掉Mariadb,再安装MySQL。
[root@langer ~]# rpm -qa | grep mariadb // 列出mariadb相关已安装包
mariadb-libs-5.5.40-1.el7_0.x86_64 // 本例中找到的相关RPM包
[root@langer ~]# rpm -e --nodeps mariadb-libs-5.5.40-1.el7_0.x86_64 // 卸载上面找到的所有相关RPM包,格式:rpm -e --nodeps [前面找到的RPM包名]
[root@langer ~]# rpm -qa | grep mariadb // 在卸载完以后再次用此命令来查看
[root@langer ~]#
2、准备MySQL安装包
我们需要准备如下安装包
包名 | 地址 |
---|---|
mysql-community-server-5.7.20-1.el7.x86_64.rpm | 链接: https://pan.baidu.com/s/19Kq9Thsp_wgRnSIHOWIisw 密码: v864 |
mysql-community-client-5.7.20-1.el7.x86_64.rpm | 链接: https://pan.baidu.com/s/16rcTyqfJquqZBSyI6uN7eA 密码: s3hg |
mysql-community-libs-5.7.20-1.el7.x86_64.rpm | 链接: https://pan.baidu.com/s/12VglgHaA8DmRRVdRcVGudg 密码: pc61 |
mysql-community-common-5.7.20-1.el7.x86_64.rpm | 链接: https://pan.baidu.com/s/1RxiYoJU52eXQHVVyC7rSFQ 密码: cc4e |
将这些包下载来传到前面说的服务器的/data/AtlassianResource中
3、开始安装MySQL
按下面顺序依次安装:
[root@langer ~]# yum install -y perl-Module-Install.noarch perl libaio libnuma* // CentOS7最小版本安装MySQL找不到Perl的依赖包的解决办法,或MySQL通过rpm包方式安装时,不会执行mysql_install_db从而生成/root/.mysql_secret等,是缺少上面这3个依赖,所以我们先装下(如果已有会提示你无需安装),以免安装过程出错要卸载重装更麻烦。
[root@langer ~]# cd /data/AtlassianResource // 进入AtlassianResource目录下
[root@langer AtlassianResource]# rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm
[root@langer AtlassianResource]# rpm -ivh mysql-community-libs-5.7.20-1.el7.x86_64.rpm
[root@langer AtlassianResource]# rpm -ivh mysql-community-client-5.7.20-1.el7.x86_64.rpm
[root@langer AtlassianResource]# rpm -ivh mysql-community-server-5.7.20-1.el7.x86_64.rpm
[root@langer AtlassianResource]#
修改MySQL my.cnf配置文件。(注意:改配置的时候不要把我的//注释内容也弄进去)
[root@langer ~]# vi /etc/my.cnf // 编辑my.cnf配置文件,下文中标"[###]"的行为添加或修改过的配置,编辑完成后用vi的命令【:wq】保存该文件
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[mysql] // [###]
default-character-set=utf8mb4 // [###]
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
transaction-isolation = READ-COMMITTED // [###]
max_allowed_packet=256M // [###]
innodb_log_file_size=2G // [###]
innodb_buffer_pool_size=512M // [###]
innodb_file_per_table=1 // [###]
collation-server=utf8mb4_unicode_ci // [###]
character_set_server=utf8mb4 // [###]
default-storage-engine=INNODB // [###]
innodb_default_row_format=DYNAMIC // [###]
innodb_large_prefix=ON // [###]
innodb_file_format=Barracuda // [###]
binlog_format=row // [###]
performance_schema_max_table_instances=400 // [###] 此行和下面两行配置,添加后,若MySQL无法启动,则请删除;若可正常启动,则最好添加上。
table_definition_cache=400 // [###]
table_open_cache=256
4、配置MySQL
初次登录,修改登录密码。(不改的话,不能用root用户创建新库、查询数据等)
[root@langer ~]# service mysqld start // 启动命令
[root@langer ~]# systemctl start mysqld // 或用此命令启动
[root@langer ~]# cat /var/log/mysqld.log |grep password //用此命令查看生成的临时密码,如下面的密码为mWoe;zkj4M3
2017-12-13T10:50:44.960028Z 1 [Note] A temporary password is generated for root@localhost: =mWoe;zkj4M3
[root@langer ~]# mysql -u root -p // 登录命令
Enter password: // 用临时密码登录
mysql> SET PASSWORD = PASSWORD('nooMkf.86'); // 登录成功后设置新密码,密码要求含有大小写、数字、一些特殊字符(如,./等),记得改成你自己的密码。
mysql> show VARIABLES like '%max_allowed_packet%'; // 查看最大包限制大小
+--------------------------+------------+
| Variable_name | Value |
+--------------------------+------------+
| max_allowed_packet | 268435456 |
| slave_max_allowed_packet | 1073741824 |
+--------------------------+------------+
2 rows in set (0.00 sec)
mysql> SHOW VARIABLES LIKE 'character%'; // 查看字符集变量
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
mysql>
至此,安装过程完成。
5、创建Atlassian各产品的数据库
- 先在数据库中创建Atlassian各产品的空库
- 空库将在Atlassian各产品安装过程的初始化配置中用到(连接此空库进行初始化建表等)。
- 下面代码列出了Atlassian各个产品的建库命令,请根据你实际安装的产品选择建库命令。如你若仅安装- JIRA,则只需建JIRA库即可;如你若安装JIRA和Confluence,则需建JIRA库和Confluence库……
mysql> CREATE DATABASE jiradb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; // 用此命令创建JIRA数据库,其中"jiradb"为库名
mysql> CREATE DATABASE confluencedb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; // 用此命令创建Confluence数据库,其中"confluencedb"为库名
mysql> CREATE DATABASE crowddb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; // 用此命令创建Crowd数据库,其中"crowddb"为库名
mysql> CREATE DATABASE fecrudb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; // 用此命令创建Fisheye/Crucible数据库,其中"fecrudb"为库名
mysql> CREATE DATABASE bitbucketdb CHARACTER SET utf8 COLLATE utf8_bin; // 用此命令创建Bitbucket数据库,其中"bitbucketdb"为库名
mysql> CREATE DATABASE bamboodb CHARACTER SET utf8 COLLATE utf8_bin; // 用此命令创建Bamboo数据库,其中"bamboodb"为库名
mysql> CREATE DATABASE hipchatdb CHARACTER SET utf8 COLLATE utf8_bin; // 用此命令创建HipChat数据库,其中"hipchatdb"为库名
mysql> show databases; // 显示当前数据库
+--------------------+
| Database |
+--------------------+
| information_schema |
| jiradb |
| confluencedb |
| crowddb |
| fecrudb |
| bitbucketdb |
| bamboodb |
| hipchatdb |
| mysql |
| performance_schema |
+--------------------+
至此,数据库这边就已经部署完毕,准备就绪。。。