一 前言
由于服务器不能连接外网,因此必须离线安装mysql
二 环境说明
2.1 软件版本说明
- 操作系统: centos7
- 数据库版本:mysql-5.7.21-1.el7.x86_64.rpm-bundle
2.2 安装说明
本文只是搭建一个主从环境,如果想搭建多个,重复操作即可。主从数据库分配如下:
数据库名称 | IP地址 | 端口号 | 角色 |
---|---|---|---|
mysql-m1 | 192.168.239.140 | 3306 | master |
mysql-s1 | 192.168.239.141 | 3306 | slave1 |
三 安装前准备
3.1 软件下载地址
mysql数据库下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
3.2 上传文件
下载完成后,将mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar文件从windows系统中上传到Linux服务器。本文采用pscp方法,操作方法如下:
d:\putty>pscp mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar root@IP:/usr/soft
注:具体操作可以操作http://blog.csdn.net/sgmcumt/article/details/79135395
3.3 检测安装环境
3.3.1 卸载将系统自带的mariadb-lib
[root@mysqlmaster ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[root@mysqlmaster ~]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
3.3.2 查看是否有旧的mysql版本
[root@mysqlmaster ~]# rpm -qa|grep mysql
[root@mysqlmaster ~]#
如果有的话,用上面方法全部卸载掉。
3.3.3 查看是否有libaio
[root@mysqlmaster ~]# rpm -qa|grep libaio
libaio-0.3.109-13.el7.x86_64
[root@mysqlmaster ~]#
如果有的话,忽略下面操作,如果没有的话,需要先安装libaio
下载地址:
http://mirror.centos.org/centos/7/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm
安装libaio库:
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm(若在有网情况下可执行yum install libaio)
3.3.4 解压安装包
创建mysql-5.7.21目录:
[root@mysqlmaster soft]# mkdir /usr/soft/mysql-5.7.21
进入soft目录,将安装包解压到mysql-5.7.21文件夹中:
[root@mysqlmaster soft]# tar xvf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar -C mysql-5.7.21
mysql-community-embedded-devel-5.7.21-1.el7.x86_64.rpm
lmysql-community-minimal-debuginfo-5.7.21-1.el7.x86_64.rpm
mysql-community-common-5.7.21-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.21-1.el7.x86_64.rpm
mysql-community-server-minimal-5.7.21-1.el7.x86_64.rpm
mysql-community-client-5.7.21-1.el7.x86_64.rpm
mysql-community-server-5.7.21-1.el7.x86_64.rpm
mysql-community-embedded-5.7.21-1.el7.x86_64.rpm
mysql-community-test-5.7.21-1.el7.x86_64.rpm
mysql-community-devel-5.7.21-1.el7.x86_64.rpm
mysql-community-libs-5.7.21-1.el7.x86_64.rpm
进入mysql-5.7.21目录可以看到有如下的rpm文件
[root@mysqlmaster soft]# cd /usr/soft/mysql-5.7.21
[root@mysqlmaster mysql-5.7.21]# ls -l
总用量 580028
-rw-r--r--. 1 7155 31415 25107316 12月 28 20:53 mysql-community-client-5.7.21-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 278844 12月 28 20:53 mysql-community-common-5.7.21-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 3779988 12月 28 20:53 mysql-community-devel-5.7.21-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 46256768 12月 28 20:53 mysql-community-embedded-5.7.21-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 24078148 12月 28 20:53 mysql-community-embedded-compat-5.7.21-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 128571868 12月 28 20:53 mysql-community-embedded-devel-5.7.21-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 2238596 12月 28 20:53 mysql-community-libs-5.7.21-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 2115904 12月 28 20:54 mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 55662616 12月 28 20:54 mysql-community-minimal-debuginfo-5.7.21-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 171890056 12月 28 20:54 mysql-community-server-5.7.21-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 15289580 12月 28 20:54 mysql-community-server-minimal-5.7.21-1.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 118654584 12月 28 20:54 mysql-community-test-5.7.21-1.el7.x86_64.rpm
各文件的说明详见附录
四 安装及配置
在这里只需要依次安装以下四个包
mysql-community-common-5.7.21-1.el7.x86_64.rpm
mysql-community-libs-5.7.21-1.el7.x86_64.rpm
mysql-community-client-5.7.21-1.el7.x86_64.rpm
mysql-community-server-5.7.21-1.el7.x86_64.rpm
4.1 安装过程
[root@mysqlmaster mysql-5.7.21]# rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm
警告:mysql-community-common-5.7.21-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:mysql-community-common-5.7.21-1.e################################# [100%]
[root@mysqlmaster mysql-5.7.21]# rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm
警告:mysql-community-libs-5.7.21-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:mysql-community-libs-5.7.21-1.el7################################# [100%]
[root@mysqlmaster mysql-5.7.21]# rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm
警告:mysql-community-client-5.7.21-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:mysql-community-client-5.7.21-1.e################################# [100%]
[root@mysqlmaster mysql-5.7.21]# rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm
警告:mysql-community-server-5.7.21-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:mysql-community-server-5.7.21-1.e################################# [100%]
[root@mysqlmaster mysql-5.7.21]#
安装后的文件目录详见附录
4.2 环境配置
安装完成后,默认会创建mysql用户名和用户组。
检查mysql组和用户是否存在,如无创建。
[root@mysqlmaster mysql]# cat /etc/group |grep mysql
mysql:x:27:
[root@mysqlmaster mysql]# cat /etc/passwd |grep mysql
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
[root@mysqlmaster mysql]#
4.3 初始化数据库
// 指定datadir, 执行后会生成~/.mysql_secret密码文件
[root@mysqlmaster mysql]# mysql_install_db --datadir=/var/lib/mysql
2018-01-25 13:42:47 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
初始化成功之后,更改mysql数据库目录的所属用户及所属组
[root@mysqlmaster mysql]# chown -R mysql:mysql /var/lib/mysql
4.4 启动并登录mysql数据库
[root@phoenixslave1 mysql]# service mysqld start
Redirecting to /bin/systemctl start mysqld.service
[root@phoenixslave1 mysql]# cat ~/.mysql_secret
# Password set for user 'root@localhost' at 2018-01-25 13:42:47
jP7hVx-xufeX
[root@phoenixslave1 mysql]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.21
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>set password=password('123456');
mysql安装成功,下一步开始搭建主从环境。
附录
注:附录内容摘自mysql官网文档,感兴趣的可以直接查看英文原档
(https://dev.mysql.com/doc/refman/5.7/en/linux-installation-rpm.html)
社区版MySQL的RPM软件包
名字 | 说明 |
---|---|
mysql-community-server | 数据库服务器和相关工具 |
mysql-community-client | MySQL客户端应用程序和工具 |
mysql-community-common | 服务器和客户端库的公共文件 |
mysql-community-server-minimal | 数据库服务器和相关工具的最小安装包 |
mysql-community-devel | 开发MySQL数据库客户端应用程序的头文件和库 |
mysql-community-libs | MySQL数据库客户端应用程序的共享库 |
mysql-community-libs-compat | 用于以前的MySQL安装的共享兼容性库 |
mysql-community-embedded | MySQL嵌入式库 |
mysql-community-embedded-devel | 开发MySQL嵌入式的库的头文件和库 |
mysql-community-test | MySQL服务器的测试套件 |
mysql文件及路径
文件或资源 | 位置 |
---|---|
客户端程序和脚本 | /usr/bin |
mysqld服务器 | /usr/sbin |
配置文件 | /etc/my.cnf |
数据目录 | /var/lib/mysql |
错误日志文件 | /var/log/mysqld.log |
Value of secure_file_priv | /var/lib/mysql-files |
System V init script | /etc/init.d/mysqld |
系统服务 | mysqld |
Pid文件 | /var/run/mysql/mysqld.pid |
Socket | /var/lib/mysql/mysql.sock |
keyring目录 | /var/lib/mysql-keyring |
Unix手册页 | /usr/share/man |
Include(header)文件 | /usr/include/mysql |
库 | /usr/lib/mysql |
其他支持文件(例如,错误消息和字符集文件) | /usr/share/mysql |