暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

MySQL 8.0 RPM 安装指南

MySQL 8.0 RPM 安装指南

在 Linux 系统中,我们可以使用 RPM 包来安装 MySQL 8.0。

通用准备事项
确认系统版本:下载 rpm 包时要认清对应的系统版本,例如 el7 代表的是 Linux 7 版本。
下载 RPM 包:可以从 MySQL 官网(www.mysql.com )下载所需版本的 RPM 包。进入官网后点击 DOWNLOADS 到下载页面,下滑找到社区版,点击 MYSQL Yum Repository 下载;若要下载其他版本,点击 MYSQL Community 选择安装 MySQL 的系统及版本。

CentOS 7 系统安装步骤

1. 卸载已有的 MariaDB

由于 MySQL 在 CentOS 7 中收费,CentOS 7 内部集成了 MariaDB,安装 MySQL 会和 MariaDB 的文件冲突,所以需要先卸载。使用以下命令查找并删除 MariaDB 文件:

查看 mariadb 的安装包

rpm -qa | grep mariadb

卸载 mariadb(xxx 替换为实际版本号)

rpm -e mariadb-libs-xxx.el7.x86_64 --nodeps

2. 创建 MySQL 目录

进入 /usr/local/ 目录

cd /usr/local/

创建 mysql 目录

mkdir mysql

进入 mysql 目录

cd mysql

3. 安装依赖

安装 numactl(若已安装则跳过)

yum install numactl

安装 wget(若已安装则跳过)

yum install wget

4. 下载 MySQL 安装包

wget https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar

5. 解压安装包

tar -xvf mysql-8.0.11-1.el7.x86_64.rpm-bundle.tar

6. 安装解压后的 RPM 软件包

可以选择全部安装或单个安装:

全部安装

rpm -ivh *.rpm

单个安装(安装顺序:common、libs、libs-compat、client、server、test(可选装)、devel(可选装)、embedded-compat(可选装))

rpm -ivh mysql-8.0.11-1.el7.x86_64.rpm --nodeps --force

安装日志如下:
[root@node1 ~]# rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps
[root@node1 ~]# rpm -qa | grep mariadb

[root@node1 ~]# rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm
warning: mysql-community-common-8.0.11-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOK EY
Preparing… ################################# [100%]
package mysql-community-common-8.0.11-1.el7.x86_64 is already installed
[root@node1 ~]#
[root@node1 ~]#
[root@node1 ~]# rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm
warning: mysql-community-libs-8.0.11-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing… ################################# [100%]
Updating / installing…
1:mysql-community-libs-8.0.11-1.el7################################# [100%]
[root@node1 ~]# rpm -ivh mysql-community-libs-compat-8.0.11-1.el7.x86_64.rpm
warning: mysql-community-libs-compat-8.0.11-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5 : NOKEY
Preparing… ################################# [100%]
Updating / installing…
1:mysql-community-libs-compat-8.0.1################################# [100%]
[root@node1 ~]# rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm
warning: mysql-community-client-8.0.11-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOK EY
Preparing… ################################# [100%]
Updating / installing…
1:mysql-community-client-8.0.11-1.e################################# [100%]
[root@node1 ~]# rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm --nodeps --force
warning: mysql-community-server-8.0.11-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOK EY
Preparing… ################################# [100%]
Updating / installing…
1:mysql-community-server-8.0.11-1.e################################# [100%]

7. 初始化和配置 MySQL

安装 libaio(否则初始化会报错)

yum install -y libaio

初始化 MySQL

mysqld --initialize

chown -R mysql.mysql /var/lib/mysql

日志目录:/var/log/mysqld.log

my.cnf目录:/etc/my.cnf

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

启动 MySQL 服务

systemctl start mysqld.service

mysqld.service目录:/usr/lib/systemd/system/mysqld.service
vim /usr/lib/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

Type=notify

Disable service start and stop timeout logic of systemd for mysqld service.

TimeoutSec=0

Execute pre and post scripts as root

PermissionsStartOnly=true

Needed to create system tables

ExecStartPre=/usr/bin/mysqld_pre_systemd

Start main service

ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS

Use this to switch malloc implementation

EnvironmentFile=-/etc/sysconfig/mysql

Sets open_files_limit

LimitNOFILE = 10000

Restart=on-failure

RestartPreventExitStatus=1

Set enviroment variable MYSQLD_PARENT_PID. This is required for restart.

Environment=MYSQLD_PARENT_PID=1

PrivateTmp=false

设置 MySQL 开机自启

systemctl enable mysqld

8. 查看和修改 root 密码

查看数据库的 root 登录密码(安装时随机生成)

grep ‘temporary password’ /var/log/mysqld.log

进入数据库登陆界面

mysql -u root -p

修改数据库 root 登录密码 : P@ssw0rd

ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘自己想要设置的密码’;
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘P@ssw0rd’;

9. 远程访问授权(可选)

创建可以远程访问的用户 登录密码 : P@ssw0rd

create user ‘root’@’%’ identified with mysql_native_password by ‘登录密码’;
create user ‘root’@’%’ identified with mysql_native_password by ‘P@ssw0rd’;

授予该用户所有权限

grant all privileges on . to ‘root’@’%’ with grant option;

10. 修改 MySQL 加密规则(可选)

由于 MySql 8.0 版本和 5.0 的加密规则不一样,老的可视化工具可能只支持旧的加密方式,可以进行如下修改:
复制

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘root 登录密码’ PASSWORD EXPIRE NEVER;

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘P@ssw0rd’ PASSWORD EXPIRE NEVER;

11.验证远程登录MySQL数据库

[root@node1 lib]# mysql -uroot -p’P@ssw0rd’ -h 192.168.100.201 -P 3306
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.11 MySQL Community Server - GPL

Copyright © 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql>

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

暂无图片
获得了46次点赞
暂无图片
内容获得14次评论
暂无图片
获得了85次收藏
目录
  • MySQL 8.0 RPM 安装指南
  • CentOS 7 系统安装步骤
    • 1. 卸载已有的 MariaDB
    • 2. 创建 MySQL 目录
    • 3. 安装依赖
    • 4. 下载 MySQL 安装包
    • 5. 解压安装包
    • 6. 安装解压后的 RPM 软件包
    • 7. 初始化和配置 MySQL
    • 8. 查看和修改 root 密码
    • 9. 远程访问授权(可选)
    • 10. 修改 MySQL 加密规则(可选)
    • 11.验证远程登录MySQL数据库