Linux(CentOS7)下rpm安装MySQL8.0.16
记录一下自己在 CentOS7 下 rpm 安装 MySQL8.0.16 的过程。
一、准备工作
1. 下载MySQL所需要的安装包
从 MySQL官网 下载,上传至 CentOS 系统 /usr/local/MySQL 目录下,当然你也可以使用 wget 命令直接下载至 CentOS,此处使用的 8.0.16 版本。
# 你想要的版本
Product Version: 8.0.16
# CentOS选择Red Hat Enterprise Linux / Oracle Linux
Operating System:OS Version: Red Hat Enterprise Linux / Oracle Linux
# CentOS7 64位选择
OS Version: Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)
然后下载rpm包(RPM Bundle)。
2. 检查是否存在自带mariadb
CentOS7 开始不自带 MySQL,替换成了 mariadb,但是我们安装 MySQL 的时候会冲突,所以需要先卸载 mariadb。
# 查找是否存在自带mariadb
rpm -qa | grep mariadb
# 如果存在则卸载, 比如我查找出来的名称为mariadb-libs-5.5.60-1.el7_5.x86_64
rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps
3. 检查是否安装过MySQL
# 检查是否安装过mysql
rpm -qa | grep mysql
# 如果存在则卸载, 比如名称为mysql-libs-5.1.52.x86_64
rpm -e mysql-libs-5.1.52.x86_64 --nodeps
4. 检查mysql组及用户是否存在,不存在则创建
# 检查
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
# 创建
groupadd mysql
useradd -r -g mysql mysql
5. 检查是否开启MySQL使用端口
我使用的默认端口3306。
# 查看想开的端口是否已开,若此提示FirewallD is not running, 表示为不可知的防火墙 需要查看状态并开启防火墙, 如果是云服务器还需要去控制台配置安全组访问
firewall-cmd --query-port=3306/tcp
# 开启端口, success代表成功
firewall-cmd --add-port=3306/tcp --permanent
# 刷新配置, 使配置生效
firewall-cmd --reload
二、安装及配置MySQL
1. 解压
cd /usr/local/mysql
# 解压
tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
# 查看一下解压出来的文件
ll
#结果
-rw-r--r--. 1 7155 31415 33432660 5月 3 2019 mysql-community-client-8.0.16-2.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 588520 5月 3 2019 mysql-community-common-8.0.16-2.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 5712552 5月 3 2019 mysql-community-devel-8.0.16-2.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 24493344 5月 3 2019 mysql-community-embedded-compat-8.0.16-2.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 3127296 5月 3 2019 mysql-community-libs-8.0.16-2.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 2177156 5月 3 2019 mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 422672748 5月 3 2019 mysql-community-server-8.0.16-2.el7.x86_64.rpm
-rw-r--r--. 1 7155 31415 114848996 5月 3 2019 mysql-community-test-8.0.16-2.el7.x86_64.rpm
2. 通过rpm命令安装common
# 命令
rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm
# 打印内容
警告:mysql-community-common-8.0.16-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:mysql-community-common-8.0.16-2.e################################# [100%]
3. 通过rpm命令安装libs
# 命令
rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm
# 打印内容
警告:mysql-community-libs-8.0.16-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:mysql-community-libs-8.0.16-2.el7################################# [100%]
4. 通过rpm命令安装client
# 命令
rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm
# 打印内容
警告:mysql-community-client-8.0.16-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:mysql-community-client-8.0.16-2.e################################# [100%]
5. 通过rpm命令安装server
如果这里提示缺少net-tool依赖,那么 yum -y install net-tools* 安装再执行
# 命令
rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm
# 打印内容
警告:mysql-community-server-8.0.16-2.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:mysql-community-server-8.0.16-2.e################################# [100%]
6. 查看MySQL安装包
# 命令
rpm -qa | grep mysql
# 打印内容
mysql-community-libs-8.0.16-2.el7.x86_64
mysql-community-common-8.0.16-2.el7.x86_64
mysql-community-client-8.0.16-2.el7.x86_64
mysql-community-server-8.0.16-2.el7.x86_64
7. 初始化MySQL数据库
该命令会在 /var/log/mysqld.log 生成随机密码。
mysqld --initialize
8. 配置用户组
配置MySQL数据库目录所属的用户和组,默认MySQL的配置文件路径为: /etc/my.cnf,如果有需要可以修改配置文件。
chown mysql:mysql /var/lib/mysql -R
9. 启动MySQL数据库
# 启动mysqld.service
systemctl start mysqld
# 查看状态, 显示有 running 代表启动成功
systemctl status mysqld
10. 修改数据库密码
# 查看数据库密码
cat /var/log/mysqld.log | grep password
# 打印内容, 其中4M4pSDfcr=9o就是数据库密码
2020-04-03T14:34:28.837144Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 4M4pSDfcr=9o
# 使用查询到的密码登录MySQL
mysql -u root -p'4M4pSDfcr=9o'
# 登录到MySQL之后修改密码为自定义密码(我设置为123456), 这个设置还和5.7版本不同呢
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
# 使用`exit;`退出MySQL后使用自定义密码重新登录
11. 创建用户并授权远程登录
此处不能使用 5.7 版本的方式,不然会报错。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'SunnyBear'@'%' IDENTIFIED BY '123456';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY '123456'' at line 1
8.0版本需要使用如下方式,和 Oralce 的创建授权类似,先创建用户再赋予权限。
因为正常开发一般 root 用户不允许远程登录,所以我们创建一个 SunnyBear 用户,赋予使用 sunny 数据库(已经使用命令创建好)的权限。
# 先创建一个用户
mysql> CREATE USER 'SunnyBear'@'%' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)
# 授权
# 其中sunny.*代表赋予sunny数据库所有操作权限, 如果想赋予所有数据库权限, 可设置为*.*
# 其中'SunnyBear'@'%'代表允许SunnyBear用户在任何ip登录, 当然也可以指定ip, 例如'用户名称'@'ip地址'
mysql> GRANT ALL PRIVILEGES ON sunny.* TO 'SunnyBear'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
# 刷新权限
FLUSH PRIVILEGES;
配置成功之后可以使用连接工具尝试连接,我这里使用的是 Navicat,至此,单机版 MySQL 安装配置完成。
12. 一些命令
# 启动mysql服务
systemctl start mysqld.service
# 停止mysql服务
systemctl stop mysqld.service
# 重启mysql服务
systemctl restart mysqld.service
# 查看mysql服务当前状态
systemctl status mysqld.service
# 设置mysql服务开机自启动
systemctl enable mysqld.service
# 停止mysql服务开机自启动
systemctl disable mysqld.service
都读到这里了,来个 点赞、评论、关注、收藏 吧!
文章作者:IT王小二
首发地址:https://www.itwxe.com/posts/79382061/
版权声明:文章内容遵循 署名-非商业性使用-禁止演绎 4.0 国际 进行许可,转载请在文章页面明显位置给出作者与原文链接。
Linux(CentOS7)下rpm安装MySQL8.0.16的更多相关文章
- [linux]centos7.4上安装MySQL-8.0.11【完美安装】
版本声明 centos7.4 MySQL-8.0.11 1.我用的阿里云的虚拟主机,刚从windows换到linux,需要装下常用工具 #安装下sz rz常用到上传下载的命令 yum install ...
- [Linux]centOS7下RPM安装Perl
1.下载rpm依赖包,依照顺序安装. perl-parent-0.225-244.el7.noarch perl-HTTP-Tiny-0.033-3.el7.noarch perl-podla ...
- Linux(CentOS7)下二进制安装MySQL5.7.26
记录一下自己在 CentOS7 下二进制安装 MySQL5.7.26 的过程,之前使用 Linux(CentOS7)下rpm安装MySQL8.0.16 之后发现 rpm 方式安装不利于维护,也不利于单 ...
- linux使用glibc版本安装mysql8.0.12
1.前言 使用yum安装虽然很方便,但是如果要是在没有公网的环境下,是没有办法使用yum源的.所以我们可以使用mysql提供的glibc版本的安装包,进行安装. 但是在安装之前,一定要将以前的版本删除 ...
- Linux(CentOS7)下Nginx安装
记录一下 Linux(CentOS7) 下 Nginx 安装过程 一.准备工作 版本说明: Linux版本:CentOS 7 64位 Nginx版本:nginx-1.20.0 1. 下载安装文件 采用 ...
- centos7下编译安装php-7.0.15(PHP-FPM)
centos7下编译安装php-7.0.15(PHP-FPM) 一.下载php7源码包 http://php.net/downloads.php 如:php-7.0.15.tar.gz 二.安装所需依 ...
- CentOS7下编译安装redis-5.0.9
CentOS7下编译安装redis-5.0.9 本文地址http://yangjianyong.cn/?p=171转载无需经过作者本人授权 下载redis #code start wget https ...
- Linux Centos7.2 编译安装PHP7.0.2
操作环境: 1.系统:Centos7.2 2.服务:Nginx 1.下载PHP7.0.2的安装包解压,编译,安装: $ cd /usr/src/ $ wget http://cn2.php.net/d ...
- Linux(CentOS-8)安装MySQL8.0.11
CentOS安装MySQL8.0.11 总的思路就是:安装MySQL,编写配置文件,配置环境变量,成功开启服务,登陆并修改ROOT密码 开启远程访问的思路就是:授权用户所有IP都可以访问,系统的数据库 ...
随机推荐
- Spring Boot的自动配置原理及启动流程源码分析
概述 Spring Boot 应用目前应该是 Java 中用得最多的框架了吧.其中 Spring Boot 最具特点之一就是自动配置,基于Spring Boot 的自动配置,我们可以很快集成某个模块, ...
- 10- sudo,exit命令
sudo命令: 作用:用超级用户权限来执行这些命令. 格式:sudo 命令 [选项] [参数] Linux root根目录文件夹 exit命令: 退出用户登陆 Linux关机 开机 重启命令:
- Heap Spray原理浅析
Heap Spray定义基本描述 Heap Spray并没有一个官方的正式定义,毕竟这是漏洞攻击技术的一部分.但是我们可以根据它的特点自己来简单总结一下.Heap Spray是在shellcode的前 ...
- UVA10294项链和手镯(等价类计数问题)
题意: 给你一串珠子(连接成了一个环),共有n个珠子组成,你有t种颜色,现在你来给这个珠子染色,问染成项链有多少种方法?染成手镯有多少种方法?在项链里,经过顺时针旋转后相同的算一个,在手镯 ...
- POJ2239简单二分匹配
题意: 一周有7天,每天可以上12节课,现在给你每科课的上课时间,问你一周最多可以上几科课,一科课只要上一节就行了. 思路: 简单题目,直接二分就行了,好久没写二分匹配了,练习 ...
- JEET W1S运动蓝牙耳机简评
对于我这种喜欢运动的人来说,很早之前就一直想买个运动蓝牙耳机了.这次正好有此机会可以评测来自JEET的W1S运动蓝牙耳机,真的是非常的幸运! 终于,在期盼中,我的来自深圳的快递隔了四天终于到了!JEE ...
- CVE-2013-1347:从入门到放弃之调试分析令人崩溃的 Microsoft IE CGenericElement UAF 漏洞
0x01 2013 年 "水坑" APT 攻击事件 在 2013 年 5 月,美国的劳工部网站被黑,利用的正是 CVE-2013-1347 这个漏洞,在当时导致大量使用 IE8 访 ...
- CVE-2018-8174(双杀漏洞)复现
目录 CVE-2018-8174双杀漏洞复现一(不稳定) 下载payload MSF监听 CVE-2018-8174双杀漏洞复现二
- 迪杰斯特拉(Dijkstra) 最短路算法
直接看B站视频吧: https://www.bilibili.com/video/BV1QK411V7V4/
- GUI基础知识点
简介 GUI的核心技术:AWT(是Swing 的前身) Swing 不流行的原因 界面不美观 运行需要jre环境(可能一个项目的大小比jre还要大) 为什么我们需要学习 了解MVC架构和监听 AWT ...