Linux环境离线安装MySQL8.0.33

目录

一、准备

1、检查libaio.so.1

2、卸载删除原有的mariadb

3、删除my.cnf

4、下载mysql安装包

二、安装

1、上传mysql

2、建立mysql所需目录

3、建立配置文件my.cnf

4、创建mysql用户并授权

5、初始化数据库

6、启动MySQL数据库

7、常见启动报错处理

8、配置MySQL环境变量

9、修改root登录密码

三、配置

1、开启MySQL远程连接

 2、解决Navicat连接报错“caching_sha2_password”


一、准备

1、检查libaio.so.1

mysql启动需要这个包,安装前提前检查下有没,没有则需要安装。

###查找
whereis libaio.so.1###如果没有则安装
#在线安装
yum install -y libaio
#离线安装
rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm

2、卸载删除原有的mariadb

 卸载删除原有的mariadb,否则可能会报异常。 

#查询原有的mariadb环境
rpm -qa|grep mariadb#卸载操作,rpm -e --nodeps后续跟着相应查出的mariadb即可,--nodeps为忽略依赖
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

3、删除my.cnf

如果之前安装过mysql卸载了,可查看下有无my.cnf并删除

#查找
find / -name my.cnf#删除
rm -rf /etc/my.cnf

4、下载mysql安装包

官网地址:MySQL :: Download MySQL Community Server (Archived Versions)icon-default.png?t=N7T8https://downloads.mysql.com/archives/community/

根据自己的操作系统情况选择下载,我选了第一个“mysql-8.0.33-linux-glibc2.28-x86_64.tar.gz”

二、安装

1、上传mysql

#将文件mysql-8.0.33-linux-glibc2.28-x86_64.tar.gz上传到服务器#解压
tar -zxvf mysql-8.0.33-linux-glibc2.28-x86_64.tar.gz#移动到要安装的目录并重命名
mv mysql8.0.33-linux-glibc2.12-x86_64 /usr/local/mysql

2、建立mysql所需目录

#建立mysql所需目录  /usr/local/mysql下建立
mkdir data
mkdir log
mkdir pid
mkdir tmp

3、建立配置文件my.cnf

#编辑my.cnf 
vim my.cnf

添加如下内容:

[mysqld]
port = 3306
basedir =/usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/log/mysqld.log
pid-file = /usr/local/mysql/pid/mysqld.pid
socket = /usr/local/mysql/tmp/mysql.sock
character-set-server=utf8
default-storage-engine=Innodb
max_connections=500
lower_case_table_names = 1
interactive_timeout=288000
wait_timeout=288000
net_read_timeout=900
net_write_timeout=900
max_allowed_packet=1073741824
log_bin_trust_function_creators=1
innodb_flush_log_at_trx_commit = 2
sync_binlog = 2000key_buffer_size=8G
read_buffer_size=64K
sort_buffer_size=256K
myisam_max_sort_file_size=100Ginnodb_buffer_pool_size=10G
innodb-buffer-pool-instances=8
innodb_read_io_threads=8
innodb_write_io_threads=8
innodb-file-per-table=true
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

 注意:

在MySQL8之后不支持NO_AUTO_CREATE_USER服务。也就是设置sql_mode中不能有NO_AUTO_CREATE_USER,否则后续MySQL无法启动,启动报错如下:

4、创建mysql用户并授权

#新建用户
adduser mysql#授权
chown -R mysql:mysql /usr/local/mysql

5、初始化数据库

这里初始化后会有会打印出一个随机密码(如: root@localhost: JQ=ihNp-x64N ),记住他,后续修改root密码要用。

bin/mysqld --initialize --user=mysql --basedir=/tdx/mysql8.0.33 --lower_case_table_names=1选项说明:
–initialize 初始化(真正开始干活)
–user=mysql 以mysql用户的身份初始化数据库,产生文件都是mysql作为拥有者
–basedir=xxx mysql其安装目录,非常重要
–lower_case_table_names=1 不区分大小写,初始化不指定,必须重装才能解决,非常重要

6、启动MySQL数据库

方式一:
#将mysql纳入服务管理,这步不执行的话service mysql start报错
cp support-files/mysql.server /etc/init.d/mysql
#启动
service mysql start方式二:
#启动MySQL
systemctl start mysqld
#停止MySQL
systemctl stop mysqld
#查看MySQL运行状态
systemctl status mysqld
#设置MySQL开机自启
systemctl enable mysqld

这里解答下为什么方式一要复制 mysql.server 到 /etc/init.d/mysql

/etc/init.d/xxxx xxxx这样的方式是老版本Linux使用的服务管理方式(针对从官方软件仓库或官方镜像源安装的软件),针对CentOS来说,是CentOS 6.9及其以下版本才用这样的方式启动MySQL服务,从CentOS 7开始,改成了systemd管理系统服务,这样可以用方式二来管理服务。

摘于:知乎 https://www.zhihu.com/question/455654934

7、常见启动报错处理

报错1:

error: log-error set to ‘/usr/local/mysql/log/mysqld.log’, however file don’t exists. Create writable for user ‘mysql’.
ERROR! The server quit without updating PID file (/usr/local/mysql/pid/mysqld.pid).=

需要建立所需文件并修改文件属主后再次启动。

#建立所需
touch /tdx/mysql8.0.33/log/mysqld.log
#修改所属用户
chown -R mysql:mysql /tdx/mysql8.0.33/log/mysqld.log

报错2:

ERROR! The server quit without updating PID file (/usr/local/mysql/pid/mysqld.pid).= 

可以查看日志文件/usr/local/mysql/log/mysqld.log确认具体原因。

比如:在MySQL8之后不支持NO_AUTO_CREATE_USER服务。

报错3:

mysql.sock文件路径不对的问题

方法一:在/tmp下创建一个link:ln -s /usr/local/mysql/tmp/mysql.sock /tmp/mysql.sock

方法二:在root权限下修改my.cnf文件(/etc/mysql/my.cnf),指定正确的路径。文件[mysqld]中加上“socket=/usr/local/mysql/tmp/mysql.sock”
 

8、配置MySQL环境变量

启动成功后修改环境变量,环境变量修改完后加载环境变量,然后输入mysql测试环境变量是否配置成功。

#打开/etc/profile文件编辑
sudo vim /etc/profile#文件/etc/profile最下面加入如下内容
#MYSQL_HOME
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin#修改保存后加载环境变量
source /etc/profile

9、修改root登录密码

#root登录
mysql -u root -p#输入初始化数据库时让记住的密码
JQ=ihNp-x64N#修改密码,注意如果密码不符合配置的密码策略,会报错,密码可以复杂点
alter user root@localhost identified by '123456';

三、配置

1、开启MySQL远程连接

一般都会通过Navicat连接,但root用户默认只能本地访问。

#使用mysql数据库
use mysql;#查看root账号权限
select user,host from user;#如果root不是 %,使用语句更新
update user set host = '%' where user = 'root';#修改后仍无法远程访问可重启下服务
service mysql restart

 2、解决Navicat连接报错“caching_sha2_password”

Navicat连接时报错 Authentication plugin ‘caching_sha2_password‘ cannot be loaded

  • mysql5 默认加密方式是 my_native_password
  • mysql8 默认加密方式是 caching_sha2_password

这个问题就是MySQL使用了caching_sha2_password加密方式但Navicat却找不到某个必需的文件。可通过修改root加密方式来解决。

# 选择数据库mysql
use mysql; 
#方式一:修改加密方式
update user set plugin='mysql_native_password'; 
#方式二:只修改root加密方式,这里还需定义密码,注意如果密码不符合配置的密码策略,会报错,密码可以复杂点
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123@#a';

配置完成后再测试下连接,可以连接成功了。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VMware标准虚拟交换机和分布式交换机

一、虚拟交换机 初期的网络虚拟化,是非常狭义的概念,主要指的是因为计算资源虚拟化,每台物理宿主机上安装了虚拟化软件,同时会部署了虚拟交换机,负责物理机上面承载的VM(虚拟机)之间与对外的通…

用心维护好电脑,提高学习工作效率

文章目录 一、我的电脑1.1 如何查看自己的电脑硬件信息呢? 二、电脑标准保养步骤和建议2.1 保持清洁2.2 定期升级系统和软件2.3 安全防护2.4 清理磁盘空间2.5 备份重要数据2.6 优化启动项2.7 散热管理2.8 硬件维护2.9 电源管理2.10 注意下载和安装2.11 定期维护 三、…

数据结构:单向循环链表

单向循环链表和单向链表差不多,只需要记录头节点的位置把单向链表判断NULL的地方改为判断头节点即可 dxxhlb.h dxxhlb.cmain.c 结果

聚类分析 | MATLAB实现基于AHC聚类算法可视化

聚类分析 | MATLAB实现基于AHC聚类算法可视化 目录 聚类分析 | MATLAB实现基于AHC聚类算法可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 AHC聚类算法,聚类结果可视化,MATLAB程序。 Agglomerative Hierarchical Clustering(自底…

ArrayList与顺序表

文章目录 一. 顺序表是什么二. ArrayList是什么三. ArrayList的构造方法四. ArrayList的常见方法4.1 add()4.2 size()4.3 remove()4.4 get()4.5 set()4.6 contains()4.7 lastIndexOf()和 indexOf()4.8 subList()4.9 clear() 以上就是ArrayList的常见方法&#xff01…

【科研论文配图绘制】task6直方图绘制

【科研论文配图绘制】task6直方图绘制 task6 主要掌握直方图的绘制技巧,了解直方图含义,清楚统计指标的添加方式 1.直方图 直方图是一种用于表示数据分布和离散情况的统计图形,它的外观和柱形图相近,但它所 表达的含义和柱形图…

串口联网通信数据监听视监控侦测协议规约破解方案

作为物联网数据采集解决方案专业提供商,数采物联网小编daq-iot 在这里做以下内容介绍,并诚挚的欢迎大家讨论和交流。 本方案主要用于监听和侦测 串口通信数据报文,主要用于协议报文分析 破解领域。 例如破解摄像头控制道闸开启的命令等。 监控和分析通信数据代表的含…

设计模式-职责链模式

文章目录 职责链模式模式概述主要角色适用场景实现步骤优点注意事项 定义职责链结构示例总结 职责链模式 职责链模式是一种行为设计模式,它可以将请求的发送者和请求的处理者解耦,并按照预定义的顺序处理请求。职责链模式常用于需要逐级审批或转交处理的…

网络编程——套接字和字节序

目录 一、BSD套接字接口1.1 套接字类型1.2 套接字的位置 二、字节序2.1 大小端2.2 大小端判断2.3 主机字节序和网络字节序2.4 字节序转换函数 一、BSD套接字接口 BSD套接字接口是BSD的进程间通信的方式,它不仅支持各种形式的网络应用而且它还是一种进程间通信的机制…

汽车类 ±0.25°C SPI 温度传感器,TMP126EDBVRQ1、TMP126EDCKRQ1、TMP127EDBVRQ1引脚配置图

一、概述 TMP126-Q1 是一款精度为 0.25C 的数字温度传感器 , 支持的环境温度范围为 -55C 至 175C 。TMP126-Q1 具 有 14 位 ( 有符号 ) 温度分辨率(0.03125C/LSB),并且可在 1.62V 至 5.5V 的电源电压范围内工作。TMP126-Q1 具有转…

Linux-crontab使用问题解决

添加定时进程 终端输入: crontab -e选择文本编辑方式,写入要运行的脚本,以及时间要求。 注意,如果有多个运行指令分两种情况: 1.多个运行指令之间没有耦合关系,分别独立,则可以直接分为两个…

SpringDataRedis 使用

1. SpringDataRedis 特点2. 使用 SpringDataRedis 步骤3. 自定义 RedisTemplate 序列化4. SpringDataRedis 操作对象 1. SpringDataRedis 特点 提供了对不同 Redis 客户端的整合(Lettuce 和 Jedis)提供了 RedisTemplate 统一 API 来操作 Redis支持 Redi…

【附安装包】Vm虚拟机安装Linux系统教程

软件下载 软件:Linux版本:18.0.4语言:简体中文大小:1.82G安装环境:VMware硬件要求:CPU2.0GHz 内存4G(或更高)下载通道①丨百度网盘:1.Vm虚拟机15.5下载链接:https://pan…

Ansible学习笔记(一)

1.什么是Ansible 官方网站:https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html Ansible是一个配置管理和配置工具,类似于Chef,Puppet或Salt。这是一款很简单也很容易入门的部署工具,它使用SS…

【USRP】集成化仪器系列1 :信号源,基于labview实现

USRP 信号源 1、设备IP地址:默认为192.168.10.2,请勿 修改,运行阶段无法修改。 2、天线输出端口是TX1,请勿修改。 3、通道:0 对应RF A、1 对应 RF B,运行 阶段无法修改。 4、中心频率:当需要…

MySQL的共享锁和排他锁

锁定读 Locking Reads 有过编程语言并发学习经验的同学,应该都了解过读写锁的概念。读写锁主要是为了解决多读少写条件下,程序的并发性能问题。它的特点即是:如果一个线程持有了读锁,那么其他线程也是可以继续读取它锁定的数据&a…

CANOCO5.0实现冗余分析(RDA)最详细步骤

在地理及生态领域会常使用RDA分析,RDA的实现路径也有很多,今天介绍一下CANOCO软件的实现方法。 1.软件安装 时间调整到2010年 2.数据处理 得有不同的物种或者样点数值,再加上环境因子数据。 3.软件运行 4.结果解读 结果解读主要把握这几点…

Pytorch-以数字识别更好地入门深度学习

目录 一、数据介绍 二、下载数据 三、可视化数据 四、模型构建 五、模型训练 六、模型预测 一、数据介绍 MNIST数据集是深度学习入门的经典案例,因为它具有以下优点: 1. 数据量小,计算速度快。MNIST数据集包含60000个训练样本和1000…

【复杂网络建模】——ER网络和SF网络的阈值分析

目录 1、介绍ER网络和SF网络 2、计算网络阈值 2.1 ER(Erdős-Rnyi)网络 2.2 SF(Scale-Free)网络 3、 研究网络阈值的意义 1、介绍ER网络和SF网络 在复杂网络理论中,ER网络(Erdős-Rnyi网络&#xff…

mybatis:动态sql【2】+转义符+缓存

目录 一、动态sql 1.set、if 2.foreach 二、转义符 三、缓存cache 1. 一级缓存 2. 二级缓存 一、动态sql 1.set、if 在update语句中使用set标签&#xff0c;动态更新set后的sql语句&#xff0c;&#xff0c;if作为判断条件。 <update id"updateStuent" pa…