This commit is contained in:
colben 2022-03-28 19:50:06 +08:00
parent c6bef76729
commit 6c6c2d392a
3 changed files with 178 additions and 58 deletions

View File

@ -0,0 +1,178 @@
---
title: "安装 Mysql"
date: 2019-10-30T13:00:28+08:00
lastmod: 2022-03-28T19:00:00+08:00
tags: ["centos", "yum", "mysql"]
categories: ["database"]
---
## CentOS7 yum 安装 Mysql5.7
### 环境
- CentOS 7.4 x86_64 最小安装
- MySQL 5.7.20
### 安装 mysql yum 源
- 下载 rpm 包
```bash
# repo 地址: https://repo.mysql.com/
cd /root/
curl -O https://repo.mysql.com/mysql57-community-release-el7.rpm
```
- 安装 mysql 源
```bash
rpm -ivh /root/mysql57-community-release-el7.rpm
```
- 更新 yum 缓存
```bash
yum clean all
yum makecache fast
```
### 安装 mysql
- yum 安装 mysql 包
```bash
yum install mysql-community-server
```
- 启动 mysql
```bash
systemctl start mysqld
```
- 查找 mysql 默认 root 密码
```bash
grep 'temporary password' /var/log/mysqld.log
```
- 修改 root 密码
```bash
mysqladmin -uroot -p password 'Pass-1234'
# 输入查找到的密码
```
## CentOS7 安装 MySQL8 通用二进制包
### 环境
- CentOS 7.9 x86_64 最小安装
- MySQL 8.0.28 多实例
- 普通用户 mortal
### 安装 mysql
- 创建普通用户 mortal切换到 mortal 用户下
```bash
useradd -m mortal
su - mortal
```
- 下载 MySQL8 通用二进制包
```bash
cd ~
curl -LO https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
```
- 解压
```bash
cd ~
tar xf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.28-linux-glibc2.12-x86_64 mysql
```
- 创建三个实例的目录
```bash
cd ~
mkdir -p instance-{1..3}/{file,log}
```
- 创建各实例的配置文件 instance-{1..3}/my.cnf
```bash
cd ~
for i in {1..3}; do
cat > instance-$i/my.cnf <<-EOF
[mysqld]
mysqlx = OFF
port = 330$i
basedir = /home/mortal/mysql
datadir = /home/mortal/instance-$i/db
socket = /home/mortal/instance-$i/mysqld.sock
pid-file = /home/mortal/instance-$i/mysqld.pid
secure-file-priv = /home/mortal/instance-$i/file
log-timestamps = SYSTEM
log-error = /home/mortal/instance-$i/log/error.log
slow-query-log = TRUE
slow-query-log-file = /home/mortal/instance-$i/log/slow.log
character-set-server = utf8mb4
default-storage-engine = innodb
#default-authentication-plugin = mysql_native_password
authentication_policy = mysql_native_password
lower-case-table-names = 1
[client]
socket = /home/mortal/instance-$i/mysqld.sock
EOF
done
```
### 初始化基础数据
- 初始化每个实例的数据目录
```bash
cd ~
mysql/bin/mysqld \
--defaults-file=/home/mortal/instance-1/my.cnf \
--initialize-insecure
mysql/bin/mysqld \
--defaults-file=/home/mortal/instance-2/my.cnf \
--initialize-insecure
mysql/bin/mysqld \
--defaults-file=/home/mortal/instance-3/my.cnf \
--initialize-insecure
```
### 启动 mysql
- 启动每个实例的 mysql
```bash
cd ~
mysql/bin/mysqld_safe \
--defaults-file=/home/mortal/instance-1/my.cnf \
&>> instance-1/log/mysqld_safe.out
mysql/bin/mysqld_safe \
--defaults-file=/home/mortal/instance-2/my.cnf \
&>> instance-2/log/mysqld_safe.out
mysql/bin/mysqld_safe \
--defaults-file=/home/mortal/instance-3/my.cnf \
&>> instance-3/log/mysqld_safe.out
```
### 设置 root 密码
- 设置 mysql root 账户的密码
```bash
cd ~
mysql/bin/mysqladmin \
--defaults-file=/home/mortal/instance-1/my.cnf \
password
mysql/bin/mysqladmin \
--defaults-file=/home/mortal/instance-2/my.cnf \
password
mysql/bin/mysqladmin \
--defaults-file=/home/mortal/instance-3/my.cnf \
password
```
### 客户端链接
- 使用本机客户端链接 mysql
```bash
cd ~
mysql/bin/mysql \
--defaults-file=/home/mortal/instance-1/my.cnf \
-uroot \
-p
mysql/bin/mysql \
--defaults-file=/home/mortal/instance-2/my.cnf \
-uroot \
-p
mysql/bin/mysql \
--defaults-file=/home/mortal/instance-3/my.cnf \
-uroot \
-p
```

View File

@ -1,58 +0,0 @@
---
title: "CentOS7 yum 安装 Mysql5.7"
date: 2019-10-30T13:00:28+08:00
lastmod: 2019-10-30T13:00:28+08:00
tags: ["centos", "yum", "mysql"]
categories: ["database"]
---
## 环境
- CentOS 7.4 x86_64 最小安装
- MySQL 5.7.20
## 下载 mysql 源安装包
```bash
# repo 地址: https://repo.mysql.com/
cd /root/
curl -O https://repo.mysql.com/mysql57-community-release-el7.rpm
```
## 安装 mysql 源
```bash
rpm -ivh /root/mysql57-community-release-el7.rpm
```
## 更新 yum 缓存
```bash
yum clean all
yum makecache fast
```
## 安装 mysql
```bash
yum install mysql-community-server
```
## 启动 mysql
```bash
systemctl start mysqld
```
## 查找 mysql 默认密码
```bash
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
# 输入查找到的密码
```
## 修改 mysql 本地密码
- 在 mysql 下修改
```sql
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Pass-1234';
```
- 或者直接在终端修改
```bash
mysqladmin -uroot -p password 'Pass-1234'
```