Bootstrap

MySQL 5.7离线安装方法

MySQL 5.7离线安装方法

介绍
  • 本文介绍的方式是在Linux下安装MySQL5.7,以CentOS7为例,其他的请自行举一反三
  • 本文主要描述了离线安装MySQL5.7.20的方法
  • 本文仅供参考学习,安装过程或安装后造成任何损失由操作者自行承担
  • 本文为整理文档,有针对性(Atlassian)配置修改,原文参考:原文链接

一、安装文件

  • 文件下载,能联网的设备,可以直接使用wget 下载,不能联网的设备请下载后复制到系统指定位置
  • 下方地址如果下载较慢,可以微信小程序搜索“数字续坚”小程序,在资源tab页面复制国内下载地址,从而快速下载
//官网下载地址
http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
  • 下载完成后,把文件复制到/mysql文件夹下

二、安装MySQL

  • 为了方便数据库管理,对于安装的MySQL数据库,生产上我们都会建立一个mysql用户和mysql用户组
2.1 创建用户
# 添加mysql用户组
   groupadd mysql
   
   # 添加mysql用户
   useradd -g mysql mysql -d /home/mysql
   
   # 修改mysql用户的登录密码,这里需按提示输入密码
   passwd mysql
2.2 解压缩
  • 在/usr/local/中解压压缩包,并改名为mysql
cd /usr/local/

tar -xzvf /mysql/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz (前文已复制文件至/mysql)

# 改名为mysql
mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql

# 并赋予用户读写权限(此处也可以换位你的用户)
chown -R mysql:mysql mysql/

2.3 创建配置文件
  • 编辑配置文件
# 备份原文件
mv /etc/my.cnf /etc/my.cnf.bak
# 编辑文件
vim /etc/my.cnf
  • 复制如下内容到该文件(atlassian需要的配置也在里面)
[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
default-storage-engine=INNODB
max_allowed_packet=256M
innodb_log_file_size=256M
character_set_server=utf8mb4
innodb_default_row_format=DYNAMIC
innodb_large_prefix=ON
innodb_file_format=Barracuda
transaction-isolation=READ-COMMITTED
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid
#不区分大小写
lower_case_table_names = 1

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

max_connections=5000

default-time_zone = '+8:00'

2.4 初始化文件
  • 初始化log文件,防止没有权限。
#手动编辑一下日志文件,什么也不用写,直接保存退出
cd /var/log/

vim mysqld.log
:wq

chmod 777 mysqld.log
chown mysql:mysql mysqld.log

  • 初始化pid文件,防止没有权限。
#手动编辑一下日志文件,什么也不用写,直接保存退出
cd /var/run/
mkdir mysqld
cd mysqld
vi mysqld.pid
:wq
# 给权限
cd ..
chmod 777 mysqld
chown -R mysql:mysql mysqld
  • 初始化数据库
# 初始化数据库,并指定启动mysql的用户,否则就会在启动MySQL时出现权限不足的问题
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US
  • 初始化完成后,在my.cnf中配置的datadir目录(/var/log/mysqld.log)下生成一个error.log文件,里面记录了root用户的随机密码。
  • 建议先把该密码复制出来,避免后面由来查找
cat /var/log/mysqld.log
  • 如下图即为初始密码(最后一行)
    初始密码,可以复制
2.5 启动数据库
  • 启动数据库
#源目录启动:
/usr/local/mysql/support-files/mysql.server start
  • 并设置开机自启动服务:
# 复制启动脚本到资源目录
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

# 增加mysqld服务控制脚本执行权限
chmod +x /etc/rc.d/init.d/mysqld

# 将mysqld服务加入到系统服务
chkconfig --add mysqld

# 检查mysqld服务是否已经生效
chkconfig --list mysqld

# 切换至mysql用户,启动mysql,或者稍后下一步再启动。如果已启动了,记得先
# service mysqld stop
service mysqld start 

# 可以执行如下命令查看mysql运行情况
service mysqld status
# 重启命令
service mysqld restart

三、数据库配置

  • 必须修改初始的随机密码:
# 系统默认会查找/usr/bin下的命令;建立一个链接文件。
ln -s /usr/local/mysql/bin/mysql /usr/bin

# 登陆mysql的root用户
mysql -uroot -p
# 输入2.4生成的 随机密码,输入密码时,使用xshell等工具是可以复制粘贴的

# 修改root用户密码为123456,请牢记
set password for root@localhost=password("123456");

  • 创建数据库
#jira数据库
CREATE DATABASE jira CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
#confluence数据库
CREATE DATABASE confluence CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

#退出
exit
;