linux环境安装mysql8.0.32

news2024/12/23 13:10:26

linux环境安装mysql8.0.32

  • 一、下载安装包
  • 二、安装前准备
    • 2.1 卸载旧版本mysql
    • 2.2 检查是否安装了 mariadb 数据库
    • 2.3 安装依赖包创建 mysql 用户
  • 三、安装
    • 3.1 上传并解压安装包(上传路径没有要求,一般在/usr/local)
    • 3.2 初始化数据库
    • 3.3 注册数据库服务
    • 3.4 启动 mysql 服务
    • 3.5 配置数据库的 sock 文件,并修改 root 用户的初始密码
    • 3.6 创建 ecology 数据库,并创建账号,赋权
  • 四、客户端连接
    • 4.1 输入信息
    • 4.2 Public Key Retrieval报错
    • 4.3 Access denied报错
  • 五、总结

一、下载安装包

访问官网:https://www.mysql.com/
在这里插入图片描述
往下划到最下面:
在这里插入图片描述
点击Community Server
在这里插入图片描述
按如下图步骤点选下载
在这里插入图片描述
下载
在这里插入图片描述

二、安装前准备

2.1 卸载旧版本mysql

// 查看现有mysql:
rpm -qa|grep -i mysql
// 查看mysql状态
systemctl status mysqld.service
// 若为启用状态,则停止
systemctl stop mysqld.service
// 卸载旧mysql(mysql-8.0.32-linux-glibc2.12-x86_64为查出来的mysql名称	)
rpm -ev --nodeps mysql-8.0.32-linux-glibc2.12-x86_64
// 再查看现有mysql,发现已经卸载完成:
rpm -qa|grep -i mysql
// 查找mysql对应目录
find / -name mysql
// 如果存在则需要用rm -rf  进行删除
// 删除完后再次执行find / -name mysql进行确认

手动卸载my.cnf文件

rm -rf /etc/my.cnf

检查是否卸载成功

rpm -qa | grep -i mysql 或者 systemctl start mysql

2.2 检查是否安装了 mariadb 数据库

检查系统是否安装了mariadb数据库, mariadb数据库是mysql的分支,是免费开源的。 mariadb和msyql会有冲突。首先要检查安装了mariadb, 如果有,需要卸载掉。
检查命令:
使用:yum list installed | grep mariadb 或 rpm -qa | grep mariadb
在这里插入图片描述
若linux中安装了mariadb数据库,先卸载掉, mariadb数据库可能与安装mysql发生冲突。

执行命令:yum -y remove mariadb-libs-5.5.68-1.el7.x86_64
或者执行:rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps

2.3 安装依赖包创建 mysql 用户

libaio 属于建议安装的系统包,该功能可以提高数据库的 IO 性能
系统自带的有 yum 源可以使用 yum 安装或者使用系统自带的镜像进行 RPM 安装

 yum install libaio -y
 // 没有配置 yum 可使用 rpm 安装:rpm 安装命令:rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm

没有配置 yum 可使用 rpm 安装:rpm 安装命令:rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm

// 创建 mysql 用户和用户组
 groupadd mysql
 useradd -r -g mysql -s /bin/false mysql

三、安装

3.1 上传并解压安装包(上传路径没有要求,一般在/usr/local)

cd /usr/local/
xz -d mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
tar xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar
mv /usr/local/mysql-8.0.32-linux-glibc2.12-x86_64.tar /usr/local/mysql
cd mysql
chown mysql:mysql -R /usr/local/mysql/*

3.2 初始化数据库

vi /etc/my.cnf

编辑 my.cnf 配置文件(可直接覆盖原有内容)

[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/var/lib//mysql/data
socket=/var/lib//mysql/mysql.sock
pid-file=/var/lib//mysql/mysql.pid

log-error=/var/lib//mysql/error.log
tmpdir=/tmp
server_id=1
user=mysql

#skip-grant-tables
character-set-server=utf8mb4
explicit_defaults_for_timestamp=on
secure-file-priv=NULL

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
[client]
default-character-set=utf8mb4
socket=/var/lib//mysql/mysql.sock
[mysql]
default-character-set = utf8mb4

注意:其他配置可根据实际情况配置

初始化数据库,安装加密算法,并启动数据库(初始化过程有随机的 root 密码,注意输出信息)

cd /usr/local/mysql
bin/mysqld --initialize --user=mysql
// 注意此处的系统输出信息中包含系统默认的 root 用户密码,请记录下来。

如果没有打印出默认root密码,则在日志中查询,日志文件路径已经配置在/etc/my.cnf文件的log-error=/var/lib//mysql/error.log中,可定位到日志文件进行查看root默认密码
安装加密算法

bin/mysql_ssl_rsa_setup

3.3 注册数据库服务

[root@localhost mysql]# cd /usr/local/mysql
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chmod +x /etc/init.d/mysqld
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig mysqld on

3.4 启动 mysql 服务

[root@localhost mysql]#service mysqld start

3.5 配置数据库的 sock 文件,并修改 root 用户的初始密码

[root@localhost mysql]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
[root@localhost mysql]# /usr/local/mysql/bin/mysql -uroot -p

Enter password: 输入随机生成的密码(即步骤 3.2 记录下来的密码)

mysql> set password = 'mysqltest123';

3.6 创建 ecology 数据库,并创建账号,赋权

mysql>create database ecology;
mysql> create user ecology identified with mysql_native_password by 'ecology123';
mysql> grant all privileges on *.* to ' ecology '@'%';
mysql> flush privileges;

8.0.X用户管理版本变动较大,请根据官方手册设置。

四、客户端连接

4.1 输入信息

在这里插入图片描述

4.2 Public Key Retrieval报错

测试连接,报错如下:

Public Key Retrieval is not allowed

在这里插入图片描述
设置驱动属性
在这里插入图片描述

4.3 Access denied报错

Access denied for user ‘root’@‘..*.’ (using password: YES)

在这里插入图片描述

root账户登录的情况下:

update user set host ="%" where user="root";
flush privileges;

注意:如果进行以上步骤还报这个错,请核实填写的密码

在这里插入图片描述

五、总结

通过以上步骤,即可完成mysql8.0.32的安装和客户端的连接,如果遇到其他问题,可根据具体情况解决问题。

以上仅供参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/711417.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java面试题6月

redis有哪些缓存淘汰策略 https://blog.51cto.com/u_11720620/5198874 生产环境内存溢出(OOM)问题处理方案 https://note.youdao.com/ynoteshare/index.html?id5cc182642eb02bc64197788c7722baae&typenote&_time1688287588653 jstack找出占用…

C++之GNU C的__attribute__((constructor))和((destructor))静态构造函数实现(一百四十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

Elasticsearch实战(二十三)---ES数据建模与Mysql对比 一对多模型

Elasticsearch实战—ES数据建模与Mysql对比实现 一对多模型 文章目录 Elasticsearch实战---ES数据建模与Mysql对比实现 一对多模型1.一对多 模型1.1 Mysql建模 2.一对多 Index ES 数据模型2.1 类似Mysql, 依旧创建两个Index索引库2.2 采用ES架构 嵌套数组模型2.3采用ES架构 冗余…

【JUC-2】Synchronized关键字相关知识

Synchronized synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象&#xf…

【C++2】进程 信号 dbus

文章目录 1.进程:fork(),ps -ef (同-aux) | more2.信号:signal(, EXIT),jps2.1 捕捉信号:ctrlc:22.2 捕捉信号:kill -9:92.3 捕捉信号:kill&#…

欧几里得算法

0x00 前言 改补的内容是一点都不会少。本章来看欧几里得算法 0x01 概述 欧几里得算法又称为辗转相除法,指用于计算两个非负整数a和b的最大公约数。 两个整数的最大公约数是能够同时整除他们的最大的正整数。 基本原理:两个整数的最大公约数等于其中…

【动态规划】子数组系列(上)

子数组问题 文章目录 【动态规划】子数组系列(上)1. 最大子数组和1.1 题目解析1.2 算法原理1.2.1 状态表示1.2.2 状态转移方程1.2.3 初始化1.2.4 填表顺序1.2.5 返回值 1.3 代码实现 2. 环形子数组的最大和2.1 题目解析2.2 算法原理2.2.1 状态表示2.2.2 …

C++2(表达式和关系运算)

目录 1.表达式基础 1.表达式基础 运算符重载,就是自己定义 - * / 之类的运算符怎么运算 C中的左值和右值 C语言左值在左侧,右值在右侧 在cpp中要复杂的多 能取到地址的表达式是左值 不能取到地址的表达式是右值 常量对象为代表的左值不能作为赋值语句的左…

【Linux】网络相关概念概述以及原理简单分析介绍

文章目录 [toc] Linux 网络概述网络发展独立模式网络互联局域网LAN 和 广域网WAN 认识 "协议"协议的分层网络协议栈OSI七层模型TCP/IP五层(四层)模型TCP/IP网络协议栈 与 操作系统 的关系 **重新以计算机的视角看待 网络协议栈 局域网内部通信原理简单介绍不同局域网…

mybatis web使用02

处理 transfer 请求的 servlet package com.wsd.web;import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRe…

GAMES101 笔记 Lecture08 Shading 2(Shading, Pipeline and Texture Mapping)

目录 Specular Term(高光项)Ambient Term(环境光照项)Blinn-Phong Reflection ModelShading Frequencies(着色频率)Shade each triangle(flat shading)在每个三角形上进行着色Shade each vertex (Gouraud shading)(顶点着色)Shade each pixel (Phong shading)Defining Per-Vert…

【C++详解】——哈希

目录 unordered系列关联式容器 unordered_map unordered_map的接口说明 1.unordered_map的构造 2.unordered_map的容量 3.迭代器相关 4.unordered_map的元素访问 5. unordered_map的查询 6.unordered_map的修改操作 unordered_set 性能测试 底层结构——Hash 哈希…

copula简介

二元正态copula最为重要

MySQL - 自连接查询

1. 测试数据 创建 category 表 : CREATE TABLE category(categoryid INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主题id,pid INT(10) NOT NULL COMMENT 父id,categoryName VARCHAR(50) NOT NULL COMMENT 主题名字,PRIMARY KEY(categoryid) ) ENGINEINNODB AUTO_INCREM…

cmd的学习

目录 常用的cmd命令 使用cmd的例子 常用的cmd命令 指令作用盘符名称:盘符切换dir查看当前路径下的内容tree以树形结构输出当前路径下的内容cd进入单级目录cd ..回退到上一级目录cd 目录1\目录2\...进入多级目录cd \回退到盘符目录cls清屏exit退出窗口 (值得注意的…

Android AlertDialog setView,kotlin

Android AlertDialog setView&#xff0c;kotlin <?xml version"1.0" encoding"utf-8"?> <com.google.android.material.textfield.TextInputLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width…

MySQL数据库——主从复制和读写分离

MySQL数据库——主从复制和读写分离 一、主从复制和读写分离的相关知识1.什么是读写分离&#xff1f;2.为什么要读写分离呢&#xff1f;3.什么时候要读写分离&#xff1f;4.主从复制与读写分离5.mysql支持的复制类型6.主从复制的工作过程7.MySQL 读写分离原理8.目前较为常见的 …

前端实现俄罗斯方块游戏(内含源码)

目录 一、前言 二、功能介绍 三、页面搭建 四、样式设置 五、逻辑部分 一、前言 今天带领大家完成俄罗斯方块游戏&#xff0c;功能也比较简单&#xff0c;也是想借助这样一个简单的功能&#xff0c;然后来帮助大家了解我们JavaScript在前端中的作用&#xff0c; 后续也会带…

【服务器】ASP.Net Core(C#)创建Web站点

简单几步实现本地ASP.Net.Core web 站点结合cpolar内网穿透工具实现远程访问 1. 创建站点 *环境搭建,这边测试,使用.NET 6.0 SDK,可以点击跳转到官网下载,下载后安装即可. 安装完成后,进入到某个文件夹,打开powershell执行下面命令,创建新的 Web 应用,名称叫:aspnetcoreapp …

机器学习 day22(ReLU激活函数)

ReLU激活函数 如果想让a取更大的非负数&#xff0c;激活函数g(z)可以选用ReLU激活函数&#xff0c;他在z&#xff1c;0时取0&#xff0c;在z ≥ 0时取z 常见的激活函数 左侧的为线性激活函数&#xff0c;因为f(x) wxb&#xff0c;使用激活函数后f(x) g(z)&#xff0c;此…