centos7环境下mysql8的tar包的安装及配置

2023-11-06

(内网环境下安装及配置,并将数据保存指向某个文件夹,因为博主这里的数据文件夹是有硬盘挂靠的)

centos 7(aliyun) CentOS-7-x86_64-DVD-1810
mysql mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz

下载 centos 7

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

centos7免除了6版本繁琐的安装节奏,这里就不展示安装步骤了,有一个细节是要在安装系统的时候配置好网络环境,自动分配地址,默认是没有配置的。

下载mysql8

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

下载完成后通过ftp类的工具将其放上去
在这里插入图片描述
解压.xz后缀的文件

方法一:
需要用到两步命令,首先利用 xz-utils 的 xz 命令将 mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz 解压为mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz,其次用 tar 命令将mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz 完全解压。
xz -d mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
tar -xf mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
方法二(推荐)
tar -Jxf mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz

这里需要提到的一点是:
mysql官网下载的有很多版本,以前的tar, 现在的xz,需要注意的是有的解压出来是直接可用的,有的则只有cmake文件,则需要编译之后再进行使用,具体的编译过程可以在百度搜索,这里不做赘述。

修改名字,移动到/usr/local文件夹下
$ mv mysql-8.0.17-linux-glibc2.12-x86_64 mysql
$mv mysql /usr/local/

移动到根目录下的data文件夹,在其下创建/data/mysql/data ,因为博主需要将数据保存到/data/mysql/data 目录下
$cd /data
$mkdir mysql
$cd mysql
$mkdir data
$cd data
$pwd
显示如下目录
在这里插入图片描述

编辑my.cnf文件
在这里插入图片描述
可以看到,除了basedir是指向/usr/local, 其他全部都放在/data/mysql 文件夹下
关于my.cnf可能用到的参数参考 https://www.cnblogs.com/mydriverc/p/8297144.html

[client]
port=3306
socket=/data/mysql/mysql.sock
[mysqld]
port=3306
user=mysql
socket=/data/mysql/mysql.sock
basedir=/usr/local/mysql
datadir=/data/mysql/data
log-error=/data/mysql/error.log
pid-file = /data/mysql/mysql.pid
transaction_isolation = READ-COMMITTED
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
lower_case_table_names = 1
sql_mode = “STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO”

https://blog.csdn.net/qq_34585332/article/details/88032413
sql_mode在5.7有 NO_AUTO_CREATE_USER,但在8.0以后已经取消了

创建用户组
$groupadd mysql
创建用户
$useradd -g mysql mysql

更改目录权限
修改/data/mysql 的权限给mysql用户
$chown -R mysql:mysql /data/mysql
修改/usr/local/mysql 的权限给mysql用户
$chown -R mysql:mysql /usr/local/mysql
将读写权限赋值给两个文件夹
$chmod -R 755 /data/mysql /usr/local/mysql

初始化

$cd /usr/local/mysql

$./bin/mysqld --initialize --user=mysql

启动mysql
$./support-files/mysql.server start
到这里mysql已经安装成功了,但是我们最终的目标是navicat能远程连接上,还任重道远呢!

配置 service mysql start启动
查看init.d 下是否有mysql(关键就是将我们解压的mysqld复制黏贴到init.d下面)

查看指定文件夹下是否有mysql
$ll /etc/init.d/ | grep mysql

查找自己安装的mysql.server文件
$find / -name mysql.server

因为我们刚才安装 /usr/local/mysql目录下,所以可以直接使用下面这句
$cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
然后就可以在任意地方运行service mysql restart 啦

设置开机启动 在/etc/init.d文件夹下操作
$cd /etc/init.d
$chmod 755 /etc/init.d/mysql
$chkconfig --add mysql
$chkconfig --level 345 mysql on
$service mysql restart

ps:开机后通过 service mysql status 来判断mysql是否运行中

设置环境变量
$ vi /etc/profile
在里面添加

export PATH=$PATH:/usr/local/mysql/bin

重启服务
$source /etc/profile

进入mysql
$mysql -uroot -p
在这里插入图片描述
修改密码

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘Ab123456’;

查看用户权限

select host,user from mysql.user;

在这里插入图片描述
root是用户名
Ab123456是密码

授权以及设置账户可以远程连接
在这里插入图片描述

grant 授权
all 所有权限
. 表示针对 库.表 的权限,这里表示对所有库,所有表都授权
root 表示用户名
%表示全网 localhost表示内网允许

在 my.cnf 的mysqld 下增加

default_authentication_plugin=mysql_native_password

进入mysql命令行

$mysql -uroot -p

ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘Ab123456’;
FLUSH PRIVILEGES;

在这里插入图片描述

到这里所有mysql的设置都已经完成了,接下来是防火墙相关,如果你不想关闭防火墙,可以选择开放3306端口

修改相关文件
yum -y install iptables-services
$vi /etc/sysconfig/iptables
增加规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
$systemctl restart iptables.service #重启防火墙使配置生效

这里我选择的是直接关闭防火墙…
$systemctl stop firewalld.service #停止firewall
$systemctl disable firewalld.service #禁止firewall开机启动

在这里插入图片描述
终于完成了 ,关机睡觉!

##值得一提的是java 连接mysql的版本要记得换成 和mysql版本相同的jar包,不然会报错

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

centos7环境下mysql8的tar包的安装及配置 的相关文章

  • C - 为什么我无法映射较小(256UL 或更小)的内存?

    请告诉我 为什么我的简单应用程序无法映射较小的内存 而且 为什么有这样一个特定的边界 257UL define MAP SIZE 256UL or below fail define MAP SIZE 257UL ok include
  • MySQL 布尔模式匹配对中间词不返回任何内容

    我在 MySQL 数据库中使用 Match Against 时遇到问题 希望有人能提供帮助 这是我的数据库中的数据示例 id name 1 really bitter chocolate 2 soft cheese 当我运行此查询时 SEL
  • BIT(1) 的存储大小是多少?

    我一直认为a的存储大小BIT 1 列为 1 位 But http dev mysql com doc refman 5 6 en storage requirements html http dev mysql com doc refman
  • MySQL 匹配全文

    我正在尝试使用 mysql 进行全文搜索以匹配字符串 问题是它首先返回奇怪的结果 例如 字符串 passat 2 0 tdi AND MATCH records veiculos titulo records veiculos descri
  • dlopen 或 dlclose 未调用信号处理程序

    我在随机时间内收到分段错误 我注册了信号 但发生分段错误时未调用信号处理程序 include
  • 这种 bash 文件名提取技术有何用途?

    我有一部分 bash 脚本正在获取不带扩展名的文件名 但我试图了解这里到底发生了什么 是做什么用的 有人可以详细说明 bash 在幕后做了什么吗 如何在一般基础上使用该技术 bin bash for src in tif do txt sr
  • Mysql 更快的 INSERT

    好的 我有大约 175k 个 INSERT 语句 相当大的 INSERT 语句 例如 INSERT INTO gast ID Identiteitskaartnummer Naam Voornaam Adres Postcode Stad
  • 如何从 mysqldump 中删除表

    如何删除 mysqldump 中包含大量表的一个大表的输出 我有一个 6 GB 大的数据库转储 但其中 90 只是一个日志记录表 cache entries 我的备份中不再需要它 如何轻松删除转储中描述大型日志记录表的部分 我找到了这个 h
  • PHP mysql 选择连接

    我有这个功能 以某种形式显示自动建议 function searchbyId params input strtolower params input len strlen input limit isset params limit in
  • 用于编辑 /etc/sudoers 文件的正则表达式模式

    我想删除 etc sudoers 文件中的 uncommnet 轮组 那么我应该使用什么正则表达式模式 cat etc sudoers Allows members of the sys group to run networking so
  • 如何从 Linux 内核模块获取使用计数?

    我对正在开发的内核模块的使用计数有疑问 我想打印它以进行调试 如何从模块代码中获取它 有问题的内核版本 Linux 2 6 32 module refcount http lxr linux no linux v2 6 34 1 inclu
  • 在 Linux 上创建线程与进程的开销

    我试图回答在 python 中创建线程与进程有多少开销的问题 我修改了类似问题的代码 该问题基本上运行一个带有两个线程的函数 然后运行带有两个进程的相同函数并报告时间 import time sys NUM RANGE 100000000
  • 使用 MYSQL 创建随机数

    我想知道是否有一种方法可以选择 100 到 500 之间随机生成的数字以及选择查询 Eg SELECT name address random number FROM users 我不必将此数字存储在数据库中 而只需使用它来显示目的 我尝试
  • 如何在 Linux 中重新添加 unicode 字节顺序标记?

    我有一个相当大的 SQL 文件 它以 FFFE 的字节顺序标记开头 我使用 unicode 感知的 linux 分割工具将此文件分割成 100 000 行块 但是当将这些传递回窗口时 它确实not与第一个部分以外的任何部分一样 只是它具有
  • 减少每日状态表以仅包含状态更改

    我有一个包含 10 万以上用户的大型每日状态表 5 7 亿行 目前它位于 MySQL 或 CSV 中 该表包含三列 user id status 和 date 理想情况下 我希望将表缩减为一个新表 其中包含每个状态期间的 user id s
  • 为什么我的 php 代码无法连接到远程 MySql 数据库?

    我正在尝试连接到远程 MySql 数据库 但收到以下错误消息 警告 mysqli connect HY000 2002 连接尝试失败 因为连接方在一段时间后没有正确响应 或者由于连接的主机未能响应而建立的连接失败 在 C myLocalDi
  • MySql - 自动完成

    我正在创建一个 Ajax 自动完成应用程序 并且想知道是否有一个 SQL 查询可以用于此目的 例如 如果有人键入 p 我想检索所有以 p 开头的单词 如果他们添加 e 检索所有以 pe 开头的单词 并继续这样 有人提出了下面的查询 但我认为
  • 创建索引可以使用现有索引吗?

    我在 A B 和 C 列上有单独的索引 我想在 A B C 三列上创建一个复合索引 我的会有什么影响existing指数对综合指数creation 数据库会利用它们吗 它们是否无关紧要 或者它们会减慢我的新复合索引的创建速度吗 我正在使用
  • XAMPP Windows 上的 Php Cron 作业

    嗯 我是这个词的新手CRON 据我所知 这是一个Unix安排特定操作在定义的时间间隔后执行的概念 我需要运行一个php文件 每小时更新一次数据库 但我的困惑在于安排执行 我在用XAMPP用于 Windows 7 上的本地开发测试 我发现了什
  • MYSQL sum() 计算不同的行

    我正在寻求在 SQL 查询中使用 sum 的帮助 SELECT links id count DISTINCT stats id as clicks count DISTINCT conversions id as conversions

随机推荐

  • Nand Flash的同步、异步、ONFI、Toggle

    1 SDR和DDR SDR Single Data Rate 写读数据使用上升沿或下降沿来触发 因为只用上升沿或下降沿 对信号准确性要求较低 DDR Double Data Rate 写数据时通过MCU来控制DQS信号跳变沿来触发 即上升沿
  • android fragment 重复创建的问题

    解决fragment重复创建目前用到有两个方法 1 fragment同viewpager一起使用 vp setOffscreenPageLimit 3 设置缓存页面的个数 2 fragment单独使用 在onCreateView 方法中加入
  • 用C语言写UTF-8编码的文件

    原文地址 http blog csdn net zaffix article details 7217701 为实现用C语言写UTF 8编码的文件 测试了以下两种情况 第一种情况 为 fopen 指定一个编码 然后写入 wchar t 字符
  • Flink笔记14:Flink之window起始点的确定与watermark使用详解

    1 window起始时间的确定 在TimeWindow java中有如下方法来确定window的起始时间 public static long getWindowStartWithOffset long timestamp long off
  • win32 API函数大全

    1 API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelC
  • Python网络爬虫之数美滑块的加密及轨迹之动态js参数分析

    前言 数美滑块的加密及轨迹等应该是入门级别的吧 用他们的教程和话来说 就一个des 然后识别缺口位置可以用cv2或者ddddoc 轨迹 也可以随便模拟一个 这些简单的教程 在csdn已经有一大把可以搜到的 但是却很少人告诉你 它的js好像是
  • CMake 命令

    1 Usage cmake options
  • MAC安装渗透测试靶机

    1 mac 安装docker 直接到docker官网下载docker dmg 下载前先要注册docker 下载后直接安装就可以了 docker version 就能看见安装的版本 我的版本17 03 1 ce 2 下载docker镜像ima
  • 了解l电源纹波PSRR----转摘

    PSRR 就是 Power Supply Rejection Ratio 的缩写 中文含意为 电源纹波抑制比 也就是说 PSRR 表示把输入与电源视为两个独立的信号源时 所得到的两个电压增益的比值 基本计算公式为 PSRR 20log Ri
  • 【C语言】-- 整型数据的存储

    目录 1 数据类型的分类 2 基本类型 2 1 基本类型大小 2 2 整型家族 2 3 数据的存储形式 2 4 整形数据的存储方式 1 数据类型的分类 在C语言中有如下类型 2 基本类型 2 1 基本类型大小 一个变量的创建是要在内存中开辟
  • node の SQLite

    node操作SQLite 之前在做electron桌面制作番茄钟应用时曾经想过用数据库存储数据 一开始打算mongodb 但是发现不能实现无服务器 那么只能使用SQLite了 介绍 SQLite 是一个软件库 实现了自给自足的 无服务器的
  • android 前端常用布局文件升级总结(一)

    问题一 android support design widget CoordinatorLayout 报红 不显示页面 解决方法 把xml布局文件里面的 android support design widget CoordinatorL
  • SpringBoot + Prometheus + Grafana 打造可视化监控

    SpringBoot Prometheus Grafana 打造可视化监控 文章目录 SpringBoot Prometheus Grafana 打造可视化监控 常见的监控组件搭配 安装Prometheus 安装Grafana 搭建Spri
  • [正能量系列]失业的程序员(一)

    注 本文原型为作者的好友 全文不完全代表作者本人的意图 不小心 我失业了 原因是前几天和我的部门经理拍了桌子 我的组员去内蒙古出差 项目没有中标 年后 长得很像猪刚烈的部门经理发飙了 要辞退我的组员 我纳闷了 我的组员是技术支持 要退也应该
  • Proxmox VE虚拟化从入门到应用实战-服务器管理篇(网络配置2

    Proxmox VE虚拟化从入门到应用实战 服务器管理篇 网络配置2 一 Linux多网口绑定 多网口绑定 也称为网卡组或链路聚合 是一种将多个网卡绑定单个网络设备的技术 利用该技术可以实现某个或多个目标 例如提高网络链容错能力 增加网络通
  • 哈希算法总结

    目录 1 Hash是什么 它的作用 2 Hash算法有什么特点 2 1 Hash在管理数据结构中的应用 2 1 Hash在在密码学中的应用 3 Hash算法是如何实现的 4 Hash有哪些流行的算法 5 那么 何谓Hash算法的 碰撞 5
  • Markdown文件关机没保存,怎么恢复

    1 2 点开找到你想恢复的时间段的文件
  • JS date格式化

    Date prototype Format function fmt author meizz use strict jshint var o M this getMonth 1 月份 d this getDate 日 h this get
  • Qt Creator中,include路径包含过程(或如何找到对应的头文件)

    Qt Creator中 include路径包含过程 或如何找到对应的头文件 利用Qt Creator开发程序时 需要包含利用 include来添加头文件 大家都知道 include lt gt 用于包含标准库头文件 路径在安装软件的incl
  • centos7环境下mysql8的tar包的安装及配置

    内网环境下安装及配置 并将数据保存指向某个文件夹 因为博主这里的数据文件夹是有硬盘挂靠的 centos 7 aliyun CentOS 7 x86 64 DVD 1810 mysql mysql 8 0 17 linux glibc2 12