From 6c6c2d392ae3f20fe1c3809b59afa7306a92cba6 Mon Sep 17 00:00:00 2001 From: colben Date: Mon, 28 Mar 2022 19:50:06 +0800 Subject: [PATCH] update --- .../{mariadb-10.1.md => mariadb-install.md} | 0 content/post/mysql-install.md | 178 ++++++++++++++++++ content/post/mysql5.7-install.md | 58 ------ 3 files changed, 178 insertions(+), 58 deletions(-) rename content/post/{mariadb-10.1.md => mariadb-install.md} (100%) create mode 100644 content/post/mysql-install.md delete mode 100644 content/post/mysql5.7-install.md diff --git a/content/post/mariadb-10.1.md b/content/post/mariadb-install.md similarity index 100% rename from content/post/mariadb-10.1.md rename to content/post/mariadb-install.md diff --git a/content/post/mysql-install.md b/content/post/mysql-install.md new file mode 100644 index 0000000..ba0e060 --- /dev/null +++ b/content/post/mysql-install.md @@ -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 + ``` + diff --git a/content/post/mysql5.7-install.md b/content/post/mysql5.7-install.md deleted file mode 100644 index 3bb48cf..0000000 --- a/content/post/mysql5.7-install.md +++ /dev/null @@ -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' - ``` -