本文详细介绍 MySQL5.7 的三种安装方式(二进制,yum,源码编译)的特点、优劣。并以操作系统为 CentOS 7 为例,图解每一种安装方式的详细过程。
MySQL server 三种安装方式对比
MySQL 版本选择
* 稳定版:选择开源社区版的稳定版(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。
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 测试套件 |
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
4. 激活 MySQL57 版本
使用命令查看系统安装的 mysql repo:
yum repolist all | grep mysql
激活 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
6. 安装 MySQL 5.7
yum install mysql-community-server mysql-community-client
7. 启动 MySQL
service mysqld start
8. 获取 MySQL root 用户密码
grep tempo /var/log/mysqld.log
9. 修改 MySQL root 用户密码
使用命令安装设置 mysql_secure_installation,可以对初始化数据库 root 用户密码。由于 MySQL5.7 默认安装了安全组件,所以新设置密码必须:长度大于 8;包含至少 1 个数字,1 个大写字母,1 个小写字母,1 个非字符数字的符号;长度不能超过 32 位
10. 使用新密码登录 mysql
mysql -u root -p
**11. 设置开机自启动 **
systemctl enable mysqld.service
二进制安装 MySQL5.7
二进制安装 MySQL 无需编译,但是确很灵活,能够在一台机器上实现多个 MySQL 数据库,是很多 DBA 的所爱。其安装步骤如下:
1.安装依赖包
yum install libaio
2. 下载二进制文件
到下载页面 https://dev.mysql.com/downloads/mysql/ 选择下载 MySQL5.7 的 Linux Generic 版本。如下图:
3. 使用命令下载(可选)
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
4. 添加 MySQL 用户及用户组
groupadd mysql
useradd -g mysql -d /usr/local/mysql -s /sbin/nologin -M mysql
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
6. 下载 MySQL 配置文件
下载 MySQL 配置文件,并上传到服务器/etc 下
链接: https://pan.baidu.com/s/1gfs3GCr 密码: bv6a
7. 创建数据库相关目录
mkdir /data/mysql/mysql3306/{data,logs,tmp} -p
chown -R mysql:mysql /data/mysql/
8. 初始化 MySQL
cd /usr/local/mysql
./bin/mysqld --defaults-file=/etc/my.cnf --initialize
9. 启动 MySQL
cp support-files/mysql.server /etc/init.d/mysql
/etc/init.d/mysql start
10. 获取初始化密码
grep "temporary password" /data/mysql/mysql3306/data/error.log
11. 修改 root 密码
cd /usr/local/mysql
./bin/mysql_secure_installation
源码编译 MySQL5.7
MySQL5.7 的源码编译比较复杂,为了降低编译的复杂度,邦邦把相关的编译指令写成交脚本,用户只需要下载脚本,直接运行即可完成编译安装,具体步骤如下:
1. 下载安装包
安装包下载地址: https://pan.baidu.com/s/1jHAzaCI 密码: 4p2b
安装包内容如下图:
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
3. 卸载 mariadb
rpm -qa | grep mariadb
yum remove mariadb-libs
rm /etc/my.cnf
4. 修改编译配置项
MySQL5.7 的编译安装配置文件为 mysql.cnf。对于大多数用户来来说,只需要修改 mysql.cnf 中的监听端口和绑定网卡,如下图:
5. 运行编译脚本
- 编译 MySQL5.7 为主库模式
./mysqlAutoInstall.sh -t master -f master.cnf
- 编译 MySQL5.7 为从库模式
./mysqlAutoInstall.sh -t slave -f slave.cnf
6. 启动 MySQL
/etc/init.d/mysql端口 start
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于