当前位置: 首页 > news >正文

Linux下安装MySQL8.0的详细步骤(解压tar.xz安装包方式安装)

Linux下安装MySQL8.0的详细步骤

第一步:下载安装配置

第二步:修改密码,并设置远程连接(为了可以在别的机器下面连接该mysql)

第三步:使用Navicat客户端连接


搞了一台云服务器,首先要干的活就是得安装数据库,在Windows下安装不用说,傻瓜式操作,在Linux上安装少说要记录一下。

我使用的是XShell7 ssh 连接工具访问的Linux,其他工具的用法和命令都一样,界面如下:
在这里插入图片描述
在这里我使用的不是root用户登录的,所以先切换到root用户,命令:su

第一步:下载安装配置

  1. 切换到 /usr/local/
cd /usr/local/
  1. 创建mysql文件夹
mkdir mysql
  1. 切换到mysql文件夹下
cd mysql
  1. 下载mysql8.0安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

等待下载成功

在这里插入图片描述

  1. 解压mysql8.0安装包
tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz 

在这里插入图片描述

  1. 重命名解压出来的文件夹,这里改成mysql-8.0
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0
  1. . /use/local/mysql-8.0文件夹下创建data文件夹 存储文件
mkdir data
  1. 分别创建用户组以及用户和密码(如果提示已存在说明之前有创建过了)
groupadd mysql
useradd -g mysql mysql
  1. 授权刚刚新建的用户
chown -R mysql.mysql /usr/local/mysql/mysql-8.0
chmod 750 /usr/local/mysql/mysql-8.0/data -R
  1. 配置环境,编辑/etc/profile文件

注意:这里有一个坑,在配置完环境变量后,需要执行source /etc/profile命令,使配置文件生效

vim /etc/profile
#--------------------------
#点击键盘上的i键,进入输入模式,在配置文件最后增加一行:
#--------------------------
export PATH=$PATH:/usr/local/mysql/mysql-8.0/bin:/usr/local/mysql/mysql-8.0/lib
#添加完成后,按Esc键退出输入模式,进入命令模式,输入:wq,保存并退出
#然后在输入cat /etc/profile  查看是否保存成功,效果如下:↓↓↓↓↓↓

在这里插入图片描述
11. 编辑my.cnf文件

vim /etc/my.cnf
[mysql]
default-character-set=utf8mb4
[client]
#port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld]
#port=3306
#server-id=3306
user=mysql
general_log = 1
general_log_file= /var/log/mysql/mysql.log
socket=/var/lib/mysql/mysql.sock
basedir=/usr/local/mysql/mysql-8.0
datadir=/usr/local/mysql/mysql-8.0/data
log-bin=/usr/local/mysql/mysql-8.0/data/mysql-bin
innodb_data_home_dir=/usr/local/mysql/mysql-8.0/data
innodb_log_group_home_dir=/usr/local/mysql/mysql-8.0/data/
character-set-server=utf8mb4
lower_case_table_names=1
autocommit=1
default_authentication_plugin=mysql_native_password
symbolic-links=0
# Disabling symbolic-links is recommended to prevent assorted security risks
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/usr/local/mysql/mysql-8.0/data/mysql.log
pid-file=/usr/local/mysql/mysql-8.0/data/mysql.pid
#
# include all files from the config directory
  1. 切换到/usr/local/mysql/mysql-8.0/bin目录下
cd bin
  1. 初始化基础信息,得到数据库的初始密码(在/usr/local/mysql/mysql-8.0/bin目录下执行)
./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql//mysql-8.0/data/ --initialize
#初始化完成后,复制最后的初始密码,保存下来后面需要(这一步好像并没有用)
#igTn=3j-
  1. 复制 mysql.server 文件,在/usr/local/mysql/mysql-8.0目录下执行
cp -a ./support-files/mysql.server /etc/init.d/mysql 
cp -a ./support-files/mysql.server /etc/init.d/mysqld
  1. 赋予权限
chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld
  1. 检查一下/var/lib/mysql是否存在,否则进行创建
mkdir /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql/ 
  1. 启动数据库,有SUCCESS字眼说明MySQL安装完成
service mysql start 
#出现SUCCESS 说明启动成功,效果图如下:

在这里插入图片描述
ps:
如果发现启动失败,可以先查看data里面的mysql.log,如果有提示3306这样的字样,第一个想到的应该是端口被占用,
使用lsof -i:端口号,查看是哪个PID(进程号)占用了该端口,然后使用kill PID(进程号)杀掉进程,重新执行service mysql start

第二步:修改密码,并设置远程连接(为了可以在别的机器下面连接该mysql)

在这一步最开始就浪费了我好大的时间。如果用之前的初始密码登录,可能会出现以下的错误:
在这里插入图片描述
在这一步的时候,研究了好久,记录一下处理过程:

  • 在 vim /etc/my.cnf文件中,在[mysqld]的段中加上一句:skip-grant-tables --跳过密码验证
  • 然后保存退出,重启MySQL服务
  • 然后输入mysql -uroot -p 敲两下回车,进入mysql
  • USE mysql ; --进入数据库
  • 在mysql8.0 中,这个更新语法不能用UPDATE user SET Password = password ( ‘new-password’ ) WHERE User = ‘root’ ; 使用这个:ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘新密码’;
  • 最后按照下边的步骤进行就可以了。
  1. 修改数据库root账号的密码,并设置可以远程访问(因为root默认是不能远程访问的)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
  1. 执行flush privileges; 使密码生效
flush privileges;#刷新权限
  1. 选择数据库
use mysql;
  1. 再修改远程连接并生效
mysql> create user 'root'@'%' identified by  'password';
Query OK, 0 rows affected (0.03 sec)
mysql> grant all privileges on *.* to 'root'@'%' with grant option;
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
  1. 执行提交命令,搞定!
flush privileges;#刷新权限

第三步:使用Navicat客户端连接

1.填写IP、端口连接mysql服务

在这里插入图片描述

注:若连接不到可以查看mysql端口是否开放,若未开放则开放端口继续连接,最终测试成功!!!

相关文章:

Linux下安装MySQL8.0的详细步骤(解压tar.xz安装包方式安装)

Linux下安装MySQL8.0的详细步骤 第一步:下载安装配置 第二步:修改密码,并设置远程连接(为了可以在别的机器下面连接该mysql) 第三步:使用Navicat客户端连接 搞了一台云服务器,首先要干的活就是…...

leaflet 绘制多个点的envelope矩形(082)

第082个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中如何根据多边形的几个坐标点来绘制envelope矩形。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共78行)安装插件相关API参考:专栏目标示例…...

CAJ论文怎么批量免费转换成Word

大家都知道CAJ文件吗?这是中国学术期刊数据库中的文件,这种文件类型比较特殊。如果想要提取其中的内容使用,该如何操作呢?大家可以试试下面这种免费的caj转word的方法,多个文档也可以一起批量转换。准备材料:CAJ文档、…...

面试必问: 结构体大小的计算方法

结构体大小的计算需同时满足以下几点 一、结构体成员的偏移量必须是当前成员大小的整数倍。(0是任何数的整数倍) 举一个例子 struct Test1{char a; // 当前偏移量为0,是char所占字节数1的整数倍 所以所占大小为1char b; …...

Java中super函数的用法

1 问题 Java中super函数有很多方法,在使用的时候我们应该如何正确区分? 2 方法 三种用法: 访问父类的方法。 调用父类构造方法。 访问父类中的隐藏成员变量。 class A{ int x,y; A(int x,int y){ System.out.println("A"); } } cla…...

第十一届“泰迪杯”数据挖掘挑战赛携“十万”大奖火热来袭

第十一届“泰迪杯”数据挖掘挑战赛 竞赛组织 主办单位: 泰迪杯数据挖掘挑战赛组织委员会 承办单位: 广东泰迪智能科技股份有限公司 人民邮电出版社 协办单位: 重庆市工业与应用数学学会、广东省工业与应用数学学会、广西数学学会、河北省工业…...

分享三个可以在家做的正规兼职工作,看到就是赚到

你可以在家做正式的兼职工作。在线兼职工作值得考虑,时间相对自由。在线兼职收入可能不如线下滴滴和外卖立竿见影,但仍然可以坚持收入。有些人比工作工资发展得更高。当然,天上不会有馅饼,不劳无获。那么有哪些正规的兼职可以在家…...

javaFx实现鼠标穿透画布,同时操作画布和桌面,背景透明,类似ppt批注

一、功能需要由来和大致效果 今天,我们要用javaFx来实现一个鼠标穿透画布的功能,该需求来自于在我们的javaFx桌面应用中,需要实现一个悬浮的桌面侧边工具栏,在工具栏中有画笔绘制,批注的功能,能够实现在任何…...

客户服务知识库的最佳实践7个步骤

每个公司的声誉都依赖于客户,如果客户因为想要购买你的产品找到你,但是了解到你的客户服务做的不好,可能也会放弃你的产品,就像市场营销依赖于潜在客户的关系一样,公司的服务部门也需要依赖于现有客户的关系&#xff0…...

多重继承的虚函数表

同一个类,不同对象使用同一张虚函数表 不同类使用不同的虚函数表 子类自己添加的虚函数(非重写),在VS中是将此放在第一个继承类的虚函数表里. #include <iostream> using namespace std;class Father { public:virtual void func1() { cout << "Father::f…...

第11篇:Java开发工具使用和代码规范配置

目录 1、IntelliJ IDEA 简介 2. IntelliJ IDEA 下载 3. IntelliJ IDEA 安装和使用 3.1 安装到Windows下 3.2 快速编写 Hello World 程序...

Rust模式匹配

模式匹配 模式匹配是从函数式编程语言&#xff08;例如&#xff1a;Haskell&#xff0c;Lisp&#xff09;吸收而来的&#xff0c;用于为复杂的类型系统提供一个轻松的解构能力。rust使用match来提供模式匹配的功能。mathc类似于其它编程语言中的switch-case&#xff0c;但是远…...

GIT:【基础一】必要配置和命令

目录 一、Git安装 二、基础命令 1.git config -l&#xff1a;git配置详细信息 2.git config --system -l&#xff1a;本地git系统自动配置的信息 3.git config --global -l&#xff1a;本地git用户自动配置的信息 4.where git&#xff1a; windows查看git安装目录 5.git各配置…...

黑马程序员-Linux系统编程-01

课程链接 01-Linux命令基础习惯-Linux系统编程_哔哩哔哩_bilibili 课程重点笔记 01-linux命令基础习惯 终端 终端&#xff1a;一切输入、输出的总称&#xff0c;因此终端并不是一定指的是命令行&#xff0c;只要是能进行输入或者输出即可&#xff0c;但是在linux终端上‘’内…...

Python|每日一练|动态规划|图算法|散列表|数组|双指针|单选记录:不同路径|求两个给定正整数的最大公约数和最小公倍数|删除有序数组中的重复项

1、不同路径&#xff08;数学&#xff0c;动态规划&#xff09; 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish”…...

Java常用框架(一)

思维导图 常见知识点 一、SpringBoot 1.简单介绍一下Spring及其优缺点 1.1 概念 重量级企业开发框架EJB的替代品&#xff0c;通过依赖注入、面向切面编程&#xff0c;使用简单Java对象POJO为企业Java开发提供了相对简单的方法。 1.2 优缺点 1.2.1 优点 组件代码轻量级 …...

基于 DSP+FPGA 的高清图像跟踪系统研制

目标识别与跟踪技术是目前图像处理研究的重点方向&#xff0c;在军事和民用领域中 具有广泛的应用价值&#xff0c;如精确制导武器、导弹飞机预警等军事领域&#xff0c;如交通管理、 刑事侦查等民用领域。其中&#xff0c;如何在复杂的背景中&#xff0c;提取、识别与跟踪特定…...

apisix部署

使用k8s部署前打包镜像&#xff1a; FROM centos:7 ARG APISIX_VERSION2.11.0 LABEL apisix_version“${APISIX_VERSION}” RUN yum install -y https://repos.apiseven.com/packages/centos/apache-apisix-repo-1.0-1.noarch.rpm && yum install -y https://repos…...

无聊小知识01.serialVersionUID的作用

什么是serialVersionUIDJava&#xff08;TM&#xff09;对象序列化规范中描述到&#xff1a;serialVersionUID用作Serializable类中的版本控件。如果您没有显式声明serialVersionUID&#xff0c;JVM将根据您的Serializable类的各个方面自动为您执行此操作。(http://docs.oracle…...

pytorch搭建手写数字识别LeNet-5网络,并用tensorRT部署

pytorch搭建手写数字识别LeNet-5网络&#xff0c;并用tensorRT部署前言1、pytorch 搭建LeNet-5&#xff0c;并转为ONNX格式1.1 LeNet-5网络介绍1.2 ONNX(Open Neural Network Exchange)介绍1.3 pytorch 搭建 LeNet5网络2、将onnx转为tensorRT2.1 tensorRT 介绍2.1 onnx 转为 te…...

个人情况随笔

自我介绍技术世界的探索者&#xff0c;一名对代码充满热情的初学者。虽然起步较晚&#xff0c;但始终相信编程是解决问题的艺术&#xff0c;而不仅仅是敲键盘。过往的经历或许与技术无关&#xff0c;但逻辑分析、团队协作和持续学习的能力&#xff0c;是无论哪个领域都通用的财…...

高效全方位网页资源捕获方案:猫抓扩展技术解析与应用指南

高效全方位网页资源捕获方案&#xff1a;猫抓扩展技术解析与应用指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 引言&#xff1a;网页资源获取…...

三步掌握Windows Cleaner:彻底解决C盘空间不足的智能清理方案

三步掌握Windows Cleaner&#xff1a;彻底解决C盘空间不足的智能清理方案 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner Windows Cleaner是一款专为Windows系统设…...

手把手教你:如何根据微软官方文档修改bat脚本,实现Excel文件格式的任意批量转换

从XLS到XLSX&#xff1a;基于微软官方文档的批处理脚本进阶指南 在数据处理工作中&#xff0c;Excel文件格式转换是常见的需求场景。许多用户可能只满足于使用现成的转换工具&#xff0c;但对于技术爱好者或需要频繁处理不同格式转换的专业人士来说&#xff0c;掌握如何根据微…...

LTspice2Matlab:电路仿真数据导入MATLAB的高效解决方案

LTspice2Matlab&#xff1a;电路仿真数据导入MATLAB的高效解决方案 【免费下载链接】ltspice2matlab LTspice2Matlab - Import LTspice data into MATLAB 项目地址: https://gitcode.com/gh_mirrors/lt/ltspice2matlab 在电路设计与仿真工作中&#xff0c;如何将LTspice…...

Go Routine 调度策略与公平性控制

Go Routine调度策略与公平性控制 在Go语言中&#xff0c;Goroutine作为轻量级线程&#xff0c;是并发编程的核心。其高效的调度机制和公平性控制保证了高并发场景下的性能与稳定性。本文将深入探讨Goroutine的调度策略及其公平性控制机制&#xff0c;帮助开发者理解其底层原理…...

从零到一:DzzOffice开源协同办公平台实战部署与深度应用指南

从零到一&#xff1a;DzzOffice开源协同办公平台实战部署与深度应用指南 【免费下载链接】dzzoffice dzzoffice 项目地址: https://gitcode.com/gh_mirrors/dz/dzzoffice 你是否正在为团队协作效率低下而烦恼&#xff1f;是否在寻找一款能够替代Google Workspace或Offic…...

awesome-ai-resources部署指南:如何高效组织个人AI学习资料库

awesome-ai-resources部署指南&#xff1a;如何高效组织个人AI学习资料库 【免费下载链接】awesome-ai-resources Learn AI and LLMs from scratch using free resources 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-ai-resources 想要系统学习人工智能和大型…...

Mac Mouse Fix:如何让你的普通鼠标在macOS上超越苹果触控板

Mac Mouse Fix&#xff1a;如何让你的普通鼠标在macOS上超越苹果触控板 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 你是否曾经为macOS对第三…...

小米平板5变身Windows工作站:开源驱动如何重塑移动生产力边界?

小米平板5变身Windows工作站&#xff1a;开源驱动如何重塑移动生产力边界&#xff1f; 【免费下载链接】MiPad5-Drivers https://github.com/Project-Aloha/windows_oem_xiaomi_nabu 项目地址: https://gitcode.com/gh_mirrors/mi/MiPad5-Drivers 当一款Android平板遇上…...