[玩转MySQL之零]MySQL5.7三种安装 方式及详解

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 本文详细介绍MySQL5.7的三种安装方式(二进制,yum,源码编译)的特点、优劣。并以操作系统为CentOS 7为例,图解每一种安装方式的详细过程。 ​ 一、MySQL server三种安装方式对比 二、MySQL 版本选择 稳定版:选择开源社区版的稳定版(GA版本) 选择MySQL数据库GA版发布后6个月以上的GA版本 选择前后几个月没有大的BUG修复的版本,而不是大量BUG修复后的集中版本 最好向后较长时间没有更新发布的版本 如果和云平台混合使用,最好选择5.6,目前大部分云厂商提供的MySQL都是5.6版本。

本文详细介绍MySQL5.7的三种安装方式(二进制,yum,源码编译)的特点、优劣。并以操作系统为CentOS 7为例,图解每一种安装方式的详细过程。

​ 一、MySQL server三种安装方式对比

3-install-method-and-compare.png

二、MySQL 版本选择

msyql_commit_server.png

  • 稳定版:选择开源社区版的稳定版(GA版本)
  • 选择MySQL数据库GA版发布后6个月以上的GA版本
  • 选择前后几个月没有大的BUG修复的版本,而不是大量BUG修复后的集中版本
  • 最好向后较长时间没有更新发布的版本
  • 如果和云平台混合使用,最好选择5.6,目前大部分云厂商提供的MySQL都是5.6版本。
  • 如果是自建,并且以后都想自己运维数据库,建议使用5.7,5.7在性能和数据同步方面做了很大的改进,特别是并行复制和多源复制。

三、RPM安装MySQL5.7

操作系统默认包含的MySQL源比较老旧,如果需要安装MySQL5.7,则需要从MySQL网站(https://dev.mysql.com/downloads/mysql/)下载相应的repo。

3.1. RPM包简介

RPM包 简介
mysql-community-server  数据库服务端与相关工具  
mysql-community-client  MySQL客户端
mysql-community-common  服务端和客户端常用库文件
mysql-community-devel  客户端开发用的头文件及库
mysql-community-libs  MySQL数据库客户端共享库
mysql-community-libs-compat  兼容老版本的共享库
mysql-community-embedded  MySQL嵌入式版本
mysql-commercial-embedded-devel  嵌入式版本的头文件与库
mysql-community-test  MySQL测试套件

3.2. 安装过程

1). 安装依赖


yum install libaio

2). 下载MySQL 5.7 yum repo到下载页面https://dev.mysql.com/downloads/repo/yum/ 下载repo

wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm

3). 安装MySQL yum repo

rpm -Uvh mysql57-community-release-el7-11.noarch.rpm

mysql-install-rpm.png

4). 激活MySQL57版本使用命令查看系统安装的mysql repo:


 yum repolist all | grep mysql

msyql-repolist.png

激活MySQL5.7命令:

yum -y install yum-utils 
yum-config-manager --enable mysql57-community
yum-config-manager --disable mysql56-community
yum-config-manager --disable mysql55-community

5). 卸载mariadb


rpm -qa | grep mariadb
yum remove mariadb-libs

mysql-remove-mariadb.png

6). 安装MySQL 5.7

yum install mysql-community-server ysql-community-client

7). 启动MySQL

service mysqld start

8). 获取MySQL root用户密码

grep tempo /var/log/mysqld.log

mysql_temp_pwd.png

9). 修改MySQL root用户密码使用命令安装设置mysql_secure_installation,可以对初始化数据库root用户密码。由于MySQL5.7默认安装了安全组件,所以新设置密码必须:长度大于8;包含至少1个数字,1个大写字母,1个小写字母,1特殊符号;长度不能超过32位msyql_secure_install.png

10). 使用新密码登录mysql

mysql -u root -p

11). 设置开机自启动 

systemctl enable mysqld.service

四、二进制安装MySQL5.7

二进制安装MySQL无需编译,但是确很灵活,能够在一台机器上实现多个MySQL数据库,是很多DBA的所爱。其安装步骤如下:4.1.安装依赖包

yum install libaio

4.2. 下载二进制文件到下载页面https://dev.mysql.com/downloads/mysql/ 选择下载MySQL5.7的Linux Generic版本。如下图:mysql_linux_generic.png

4.3. 使用命令下载(可选)

wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz

4.4. 添加MySQL用户及用户组

groupadd mysql
useradd -g mysql -d /usr/local/mysql -s /sbin/nologin -M mysql

4.5. 安装MySQL

mkdir /opt/mysql
cd /opt/mysql
tar zxvf /绝对路径/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
cd /usr/local/
ln -s mysql-5.7.20-linux-glibc2.12-x86_64 mysql
chown -R mysql:mysql mysql

4.6. 下载MySQL配置文件下载MySQL配置文件,并上传到服务器/etc下链接: https://pan.baidu.com/s/1gfs3GCr 密码: bv6a

4.7. 创建数据库相关目录


mkdir /data/mysql/mysql3306/{data,logs,tmp} -p
chown -R mysql:mysql /data/mysql/

4.8. 初始化MySQL

 cd /usr/local/mysql
./bin/mysqld --defaults-file=/etc/my.cnf --initialize

4.9. 启动MySQL

cp support-files/mysql.server /etc/init.d/mysql
/etc/init.d/mysql start

4.10. 获取初始化密码

grep "temporary password" /data/mysql/mysql3306/data/error.log 

mysql_temp_pwd.png

4.11. 修改root密码


cd /usr/local/mysql
./bin/mysql_secure_installation

msyql_secure_install.png

五、源码编译MySQL5.7

MySQL5.7的源码编译比较复杂,为了降低编译的复杂度,邦邦把相关的编译指令写成交脚本,用户只需要下载脚本,直接运行即可完成编译安装,具体步骤如下:5.1. 下载安装包安装包下载地址: https://pan.baidu.com/s/1jHAzaCI 密码: 4p2b安装包内容如下图:MySQL_compile_files.png

5.2. 登录服务器并创建编译目录

  • 以用户root登陆到服务区器
  • 创建目录soft
  • 安装软件lrzsz(yum install lrzsz),如果装有ftp上传软件,请忽略
  • 上传下载下来的安装包mysqlautoinstall.5.7.tar.gz到目录/root/soft
  • 进入soft目录,解压安装包:tar zxf mysqlautoinstall.5.7.tar.gz
  • 进入安装包mysqlautoinstall.5.7: cd mysqlautoinstall.5.7

5.3. 卸载mariadb

rpm -qa | grep mariadb
yum remove mariadb-libs
rm /etc/my.cnf

5.4. 修改编译配置项MySQL5.7的编译安装配置文件为mysql.cnf。对于大多数用户来来说,只需要修改mysql.cnf中的监听端口和绑定网卡,如下图:mysql_compile_conf.png

5.5. 运行编译脚本

  • 编译MySQL5.7为主库模式

./mysqlAutoInstall.sh -t master -f master.cnf
  • 编译MySQL5.7为从库模式

./mysqlAutoInstall.sh -t slave -f slave.cnf

5.6. 启动MySQL


/etc/init.d/mysql端口 start

更多内容请关注公众号

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
14天前
|
关系型数据库 MySQL Apache
mysql5.7 本地计算机上的mysql 服务启动后停止 的问题解决
mysql5.7 本地计算机上的mysql 服务启动后停止 的问题解决
11 0
|
15天前
|
关系型数据库 MySQL 数据库
mysql卸载、下载、安装(window版本)
mysql卸载、下载、安装(window版本)
|
4天前
|
关系型数据库 MySQL 数据库
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
《MySQL 简易速速上手小册》第1章:MySQL 基础和安装(2024 最新版)
28 4
|
7天前
|
关系型数据库 MySQL Linux
Linux联网安装MySQL Server
Linux联网安装MySQL Server
20 0
|
8天前
|
关系型数据库 MySQL Linux
centos7安装mysql-带网盘安装包
centos7安装mysql-带网盘安装包
45 2
|
11天前
|
关系型数据库 MySQL 数据库
Docker安装MySQL
Docker安装MySQL
23 1
|
12天前
|
关系型数据库 MySQL 数据安全/隐私保护
MySQL 安装及连接
MySQL 安装及连接
31 0
|
14天前
|
关系型数据库 MySQL 数据库
docker自定义安装mysql 5.7
docker自定义安装mysql 5.7
22 0
|
14天前
|
关系型数据库 MySQL Linux
CentOS 7 下使用yum安装MySQL5.7.20 最简单 图文详解
CentOS 7 下使用yum安装MySQL5.7.20 最简单 图文详解
68 0
|
14天前
|
关系型数据库 MySQL Linux
win安装mysql5.7 和安装出现的问题
win安装mysql5.7 和安装出现的问题
12 0