手撕 安装 MySQL 5.7.28 二进制版本
1.1 克隆虚拟机
IP: 10.0.0.51/24
hostname: db01
防火墙关闭
selinux关闭
1.2 清理历史环境
yum remove -y mariadb-libs
\rm -rf /etc/my.cnf*
3.2 创建用户
useradd mysql #创建数据库管理进程用户
3.3 创建相关目录并授权
#/data/app软件包存放目录 /data/3306/data数据存放目录
mkdir -p /data/app /data/3306/data /data/3306/logs
chown -R mysql.mysql /data
3.4 上传 5.7.28 软件至/data/app,并解压、软连接
[root@db01 ~]# cd /data/app
[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
3.5 设置环境变量
#将软件目录做个环境变量
vim /etc/profile
export PATH=/data/app/mysql/bin:$PATH #添加最后一行
#生效配置:
source /etc/profile
[root@db01 app]# mysql -V
mysql Ver 14.14 Distrib 5.6.46, for linux-glibc2.12 (x86_64) using EditLine wrapper
3.6 安装关键依赖软件包
yum install -y libaio-devel
3.7 初始化数据(建库)
mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3306/data
/data/app/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3306/data
命令作用:
将数据启动所需要的系统数据存放到(/data/3306/data)
参数介绍:
--initialize-insecure 初始化核心参数(必加)
--user=mysql 初始化用户和组
--basedir=/data/app/mysql 软件安装目录
--datadir=/data/3306/data 数据存放位置
彩蛋1:
5.7 版本初始化参数介绍:
初始化 不安全
--initialize-insecure
说明:
初始化完成后是无密码的。
--initialize : 安全的初始化方式
说明:
1. 自动生成临时密码,第一次使用时需要修改此密码
2. 4种密码复杂度,12位。
彩蛋2:
5.7 初始化命令:
/data/app/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql --datadir=/data/3306/data
5.6初始化区别()
/data/app/mysql56/scripts/mysql_install_db --user=mysql --basedir=/data/app/mysql --datadir=/data/3306/data
3.8准备启动脚本
[root@db01 data]# cp /data/app/mysql/support-files/mysql.server /etc/init.d/mysqld
3.9 准备配置文件
[root@db01 data]# vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/data/app/mysql
datadir=/data/3306/data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
3.10 启动数据库
[root@db01 data]# /etc/init.d/mysqld start
Starting MySQL. SUCCESS!
[root@db01 data]# service mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL. SUCCESS!
3.11 使用systemd管理mysql
[root@db01 data]# chkconfig --add mysqld
[root@db01 data]# /etc/init.d/mysqld stop
Shutting down MySQL.. SUCCESS!
[root@db01 data]# systemctl start mysqld
[root@db01 data]# mysql
[root@db01 data]# ps -ef |grep mysqld
root 17275 1 0 16:00 ? 00:00:00 /bin/sh /data/app/mysql/bin/mysqld_safe --datadir=/data/3306/data --pid-file=/data/3306/data/db01.pid
mysql 17416 17275 4 16:00 ? 00:00:00 /data/app/mysql/bin/mysqld --basedir=/data/app/mysql --datadir=/data/3306/data --plugin-dir=/data/app/mysql/lib/plugin --user=mysql --log-error=db01.err --pid-file=/data/3306/data/db01.pid --socket=/tmp/mysql.sock
root 17448 16288 0 16:00 pts/1 00:00:00 grep --color=auto mysqld
[root@db01 data]# netstat -tulnp |grep 3306
tcp6 0 0 :::3306 :::* LISTEN 17416/mysqld
[root@db01 data]# systemctl stop mysqld
[root@db01 data]# netstat -tulnp |grep 3306
3.12 基于initialize模式,修改临时密码
[root@db01 data]# mysqladmin -uroot -p password 123
Enter password: 输入初始密码