https://downloads.mysql.com/archives/utilities/
1.如何获取MySQL软件企业版:Enterprise , 互联网行业一般不选择.社区版本:选择源码包:source code .tar.gz 通用二进制 面试题:你们公司用什么版本数据库? 具体什么小版本号?5.6.20 5.6.34 5.6.36 5.6.38 5.6.40 5.7.18 5.7.20 5.7.22 5.7.26 5.7.28
2.MySQL二进制安装
2.1 准备Linux服务器
克隆:Centos 7.6 1核 2G
IP: 10.0.0.51/24
hostname : db01
防火墙: 关闭
selinux : 关闭
2.2 上传软件到指定目录
2.2.1 创建指定目录
mkdir -p /data/app
2.2.2 上传软件
mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
2.2.3 解压制作软连接
[root@db01 app]# tar xf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
[root@db01 app]# ln -s mysql-5.7.28-linux-glibc2.12-x86_64 mysql
2.2.4 修改环境变量
echo "export PATH=/data/app/mysql/bin:$PATH" >>/etc/profile
生效配置
source /etc/profile
验证
[root@db01 bin]# mysql -V
mysql Ver 14.14 Distrib 5.7.28, for linux-glibc2.12 (x86_64) using EditLine wrapper
2.2.5 清理遗留环境
检查是否有mariadb相关软件
[root@db01 ~]# rpm -qa|grep mariadb
如果有,清理掉
yum remove mariadb-libs -y
删掉/etc/my.cnf 已有的配置文件
rm -rf /etc/my.cnf
2.2.6 安装依赖包
[root@db01 ~]# yum install -y libaio-devel
2.2.7 创建相关目录、用户,并做授权
[root@db01 ~]# mkdir -p /data/3306/data
[root@db01 ~]# useradd mysql
[root@db01 ~]# chown -R mysql.mysql /data
2.2.8 初始化数据
5.7+ 版本初始化 :
mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3306/data
有可能的报错:
1. libaio-devel
2. [ERROR] --initialize specified but the data directory has files in it. Aborting.
rm -rf /data/3306/data/*
重新初始化
2.2.9 准备配置文件
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/data/app/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
2.2.10 准备启动脚本,启动数据库
[root@db01 data]# cp /data/app/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@db01 data]# chkconfig --add mysqld
[root@db01 data]# systemctl start mysqld
2.2.11 使用systemd管理mysql
vim /etc/systemd/system/mysqld.service #这是个新文件
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/app/mysql/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000
注意:将原来模式启动mysqld先关闭,然后再用systemd管理。
[root@db02 /app/mysql/support-files]# ./mysql.server stop
Shutting down MySQL.. SUCCESS!
systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld
systemctl start/stop/restart/status mysqld
修改密码
alter user root@'localhost' identified by '123456';