[转帖]mysql8.0的RPM方式安装

mysql8,rpm,方式,安装 · 浏览次数 : 0

小编点评

**1. 下载源文件** * 使用 wget 命令下载 MySQL 的 RPM 安装包:`wget -i -c https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm` * 或从官方网站下载 RPM 文件并将其安装:`sudo yum install mysql-community-server-8.0.26-1.el7.x86_64.rpm` **2. 卸载历史版本 mysql 和 mariadb# 查询rpm -qa|grep mysqlrpm -qa|grep mariadb#** 使用 `rpm -qa | grep mysqlrpm -qa | grep mariadb#` 命令查看已安装的 MySQL 和 MariaDB 版本,并使用 `rm -ev` 命令卸载它们。 **3. 使用 yum源信息安装** 1. 创建 `repo` 文件,内容为: ``` [mysql-community] name = MySQL Community baseurl = https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm repodir = /etc/yum.repos.d/mysql-community.repo ``` 2. 使用 `yum install -y mysql-server` 命令安装 MySQL 服务。 **4. 查看安装后的信息** 使用 `systemctl status mysqld` 命令查看 MySQL 服务是否已启动。 **5. 安全设置 mysql_secure_installation** 按照提示更改默认密码,设置安全参数并启用远程连接。 **6. 重新加载权限表** 使用 `flush privileges` 命令重新加载权限表。

正文

https://www.cnblogs.com/asker009/p/15072354.html

 

1. 下载

https://dev.mysql.com/downloads/

使用wget下载yum的源信息:

wget -i -c https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

或者直接下载rpm安装包

链接地址:
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-community-server-8.0.26-1.el7.x86_64.rpm

注意都是rpm结尾,但是文件大小相差比较大,yum源的rpm安装包只有几十K,真正的RPM安装包是几百兆。

2. 安装

2.1卸载历史版本mysql以及mariadb

# 查询
rpm -qa|grep mysql
rpm -qa|grep mariadb
# 移除
rpm -ev [需要移除组件的名称]
rpm -e --nodeps [需要移除组件的名称]  //此命令为强制卸载
# 或者用yum移除
yum remove 

2.2 使用yum源信息安装

# repo的安装,执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
cd /etc/yum.repos.d/
# 注意:必须进入到/etc/yum.repos.d/目录后再使用yum命令进行安装
yum -y install mysql-server


# 如果报错误Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY,加上force和nodeps参数即可
# 例如:
rpm -ivh mysql-community-server-8.0.25-1.el8.x86_64.rpm --force --nodeps

2.3 使用rpm直接安装

如果报错误Header V3 DSA/SHA256 Signature, key ID 5072e1f5: NOKEY,加上force和nodeps参数

安装服务端:

rpm -ivh mysql-community-server-8.0.26-1.el7.x86_64.rpm --force --nodeps

安装客户端:

rpm -ivh rpm包
* 安装common包
rpm -ivh mysql-community-common-8.0.26-1.el7.x86_64.rpm
* 安装类库
rpm -ivh mysql-community-libs-8.0.26-1.el7.x86_64.rpm --force --nodeps
* 安装客户端(前两个是其依赖)
rpm -ivh mysql-community-client-8.0.26-1.el7.x86_64.rpm

2.4 查看安装后的信息

# 查看服务状态,可能没启动
systemctl status mysqld

# 启动服务
systemctl start mysqld

cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
mysqladmin --version

2.5 初始化mysql

# 创建数据文件目录和mysql系统数据库 产生随机root密码
mysqld --initialize

查看初始密码:

cat /var/log/mysqld.log | grep password
或
grep 'temporary password' /var/log/mysqld.log

修改密码:没有经过测试。

复制 root@localhost: 后面的密码。登录mysql,并粘贴默认密码
因为MySQL8.0的更改,导致必须要重置密码
alter user 'root'@'localhost' identified by '12345678';
如果设置密码时候出现提示

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

代表需要降低policy的等级后在执行

set global validate_password.policy=0;
开启MySQL远程连接


use mysql;
#修改root账户权限
update user set host = '%' where user = 'root';
#刷新权限
flush privileges;

2.6 安全设置

mysql_secure_installation

# 提示如下步骤:
1. 输入初始密码;
2. 提示root密码过期,需要修改密码,这是mysql8的提示,输入两次密码确认;
3. 提示是否更改root密码,这步其实重复了;
4. 是否删除匿名用户,建议删除;
5. 是否禁用root账户的远程登录,建议禁用,即mysql的root只可以本机登录;
6. 是否删除test数据库,建议删除;
7. 是否重新加载权限表,选y。

2.7 mysql登录

# 输入刚才修改后的密码
mysql -uroot -p 

2.8 重置密码(Mysql8.0+有变化)

先把root的旧密码置空(这个步骤可以不做)

use mysql;
update user set authentication_string='' where user='root';
# 备注:Mysql5.7+ password字段 已改成 authentication_string字段

重置成新密码:

alter user 'root'@'localhost' identified by 'newpassword';
# 备注:Mysql8.0修改密码方式已有变化(此处是个坑,需要注意)
# Mysql8.0之前:
update user set password=password('root') where user='root';

重新登录:

mysql -uroot -pnewpassword

2.9 如何停止、重启和查看mysql服务

systemctl stop mysqld //停止服务
systemctl restart mysqld //重启服务
systemctl status mysqld //查看服务

2.10 mysql相关目录

# 相关命令
/usr/bin 

# 配置文件目录
/usr/share/mysql

# 数据库文件存放目录
/var/lib/mysql

# mysql的启动配置文件
/etc/my.cnf 

其他:

my.ini # windows操作系统下的配置文件
my.cnf # linux操作系统下的配置文件
mysqld # 是后台守护进程,即mysql daemon
mysql # 是客户端命令行

3. 创建用户和数据库

3.1 创建用户

用户名:wood,密码:PWDwooddb_2021,可以从任何地址登入。

create user 'wood'@'%' identified by 'PWDwooddb_2021'

3.2 创建数据库wood_db;

create database wood_db;

3.3 授权

常用授权语句

GRANT 权限 ON 数据库.表单名称 TO 用户名@主机名    对某个特定数据库中的特定表单给予授权。
GRANT 权限 ON 数据库.* TO 用户名@主机名    对某个特定数据库中的所有表单给予授权。
GRANT 权限 ON *.* TO 用户名@主机名    对所有数据库及所有表单给予授权。
GRANT 权限1,权限2 ON 数据库.* TO 用户名@主机名    对某个数据库中的所有表单给予多个授权。
GRANT ALL PRIVILEGES ON *.* TO 用户名@主机名    对所有数据库及所有表单给予全部授权。

授权wood用户所有wood_db的权限

 grant all on wood_db.* to 'wood'@'%';

查看用户授权

show grants for wood@'%';
+---------------------------------------------------+
| Grants for wood@%                                 |
+---------------------------------------------------+
| GRANT USAGE ON *.* TO `wood`@`%`                  |
| GRANT ALL PRIVILEGES ON `wood_db`.* TO `wood`@`%` |
+---------------------------------------------------+
2 rows in set (0.00 sec)

如果修改没有生效,考虑使用flush privileges命令刷新权限信息。

与[转帖]mysql8.0的RPM方式安装相似的内容:

[转帖]mysql8.0的RPM方式安装

https://www.cnblogs.com/asker009/p/15072354.html 1. 下载 https://dev.mysql.com/downloads/ 使用wget下载yum的源信息: wget -i -c https://dev.mysql.com/get/mysql57-

【转帖】【漏洞提示】MySQL8.0.29因重大bug官网已下架

前阵子,MySQL官网已经将 MySQL 8.0.29版本下架。据悉下架原因是由于MySQL 8.0.29 存在关于InnoDB解释器的重大Bug。而最新版本 8.0.30及以上的版本已修复此漏洞。各大镜像站也已经移除了 8.0.29 的下载。大家可根据自身项目实际情况进行升级。如果是现有版本使用的

[转帖]CentOS8安装MySQL8详细教程,爬坑必备

https://www.ab62.cn/article/23022.html 安装环境 CentOS:8.5.2111MySQL:8.0.30 MySQL Community Server 安装过程 下载MySQL Yum Repository 官网查看MySQL的yum仓库列表,地址https:/

[转帖]MySQL 8.0.19 instant add column,亿级数据秒速增加字段

一、MySQL DDL 的方法 MySQL 在大型表上的 DDL 会带来耗时较久、负载较高、额外空间占用、MDL、主从同步延时等情况。需要特别引起重视,而MySQL 的 DDL 有很多种方法。 MySQL 本身自带三种方法,分别是:copy、inplace、instant。 copy 算法为最古老的

[转帖]MySQL 8.0 Instant Add Column功能解析

https://zhuanlan.zhihu.com/p/408702204 概述 DDL(Data Definition Language)是数据库内部的对象进行创建、删除、修改的操作语言,主要包括:加减列、更改列类型、加减索引等类型。数据库的模式(schema)会随着业务的发展不断变化,如果没有

【转帖】MySQL 8.0.32如期而至

MySQL 8.0版本计划 MySQL 8.0开始采用快速迭代开发模式,基本上是每隔3个月就发布一个新的小版本。去年1月18日(2022.1.18)发布MySQL 8.0.28,今年1月17日发布MySQL 8.0.32,再看看其他几个版本的时间,还真是贼守时啊。 版本发布时间上一年版本上一年发布时

【转帖】MySQL 8.0 hash join有重大缺陷?

我并不这么看。 友情提醒:本文建议在PC端阅读。 徐春阳老师发文爆MySQL 8.0 hash join有重大缺陷。 文章核心观点如下:多表(比如3个个表)join时,只会简单的把表数据量小的放在前面作为驱动表,大表放在最后面,从而导致可能产生极大结果集的笛卡尔积,甚至耗尽CPU和磁盘空间。 就此现

[转帖]【MySQL】MySQL 8.0 redo log写入性能问题分析

http://kernelmaker.github.io/MySQL_8_core 最近对比了MySQL 5.6和8.0在8核环境下oltp_write_only的性能,发现8.0写入性能(QPS 6-7万)反而低于5.6版本的(QPS 14万),所以进一步测试分析了下redo log这里可能导致性

[转帖]第一章 MySQL 8.0 介绍及安装配置

第一章 MySQL 8.0 介绍及安装配置 https://www.jianshu.com/p/d190c6b3520d 本课程,适合具备一定Linux运维或者开发基础的朋友,课程定级中、高级DBA。只要掌握80%,轻松助力薪资15k-25K。课程内容均来自与MySQL官网+MySQL源码。配套精品

[转帖]MySQL事务的开启与提交,autocommit自动提交功能

MySQL事务的开启与提交,autocommit自动提交功能 https://www.cnblogs.com/deverz/p/6547866.html 对于一个MySQL数据库(InnoDB),事务的开启与提交模式无非下面这两种情况:1、若参数autocommit=0,事务则在用户本次对数据进行操