学习笔记022——Ubuntu 安装 MySQL8.0版本踩坑记录

目录

1、查看可安装 MySQL 版本

2、Ubuntu安装 MySQL8.0

3、MySQL8.0 区分大小写问题

4、MySQL8.0 设置sql_mode 

5、MySQL8.0 改端口33060(个人遇到问题)


1、查看可安装 MySQL 版本

## 列出可用的MySQL版本(列出所有可用的MySQL版本以及其安装状态)
apt-cache policy mysql-server

2、Ubuntu安装 MySQL8.0

# 更新
sudo apt-get update# 安装指定版本的MySQL
sudo apt install mysql-server=<version># 修改配置。
sudo mysql_secure_installation# 根据引导提示,进行选择:
Validate Password Component … (使用密码强度校验组件) n
New Password:(设置新密码,并重复一遍)
Remove anonymous users(删除匿名用户)y
Disallow root login remotely(拒绝远程root账号登录)n
Remove test database and access to it(移除test数据库) y
Reload privilege tables now(现在就重新载入权限表) y# 登录
sudo mysql -uroot -p# 插入root密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by'你的密码';# 退出
exit# 编辑mysql配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf# 注释下行(开启远程访问)
bind-address=127.0.0.1# wq保存退出# 登录
sudo mysql -uroot -p# 在mysql中依次执行下述sql语句
use mysql;
update user set Host='%' where User='root';
select User, Host from user;
# 查询结果
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | %         |
| uav              | %         |
| debian-sys-maint | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
# 刷新
flush privileges;

3、MySQL8.0 区分大小写问题

如果需要设置不区分数据大小写,需要注意的是:mysql8之后,lower_case_table_names参数要在初始化数据库时设置,已经初始化的数据库无法修改了!

只能删除已经初始化的数据,重新初始化时加上参数lower_case_table_names!!!!

mysql 8.0默认区分大小写,但有些系统要求大小写不区分,但已经有数据库的情况就比较麻烦,因为改为不区分大小写需要重建数据库,没有其它办法!

PS:特别注意!!!执行以下操作之前,一定要记得备份重要数据库!出现损失概不负责!

PS:特别注意!!!执行以下操作之前,一定要记得备份重要数据库!出现损失概不负责!

PS:特别注意!!!执行以下操作之前,一定要记得备份重要数据库!出现损失概不负责!

PS:特别注意!!!执行以下操作之前,一定要记得备份重要数据库!出现损失概不负责!

 关闭服务
sudo systemctl stop mysql.service# 删除目前的所有数据库,
# 再次强调!一定要记得备份数据库!!!!数据丢失不负责!!!!
# 再次强调!一定要记得备份数据库!!!!数据丢失不负责!!!!
# 再次强调!一定要记得备份数据库!!!!数据丢失不负责!!!!
# 再次强调!一定要记得备份数据库!!!!数据丢失不负责!!!!# 删除相关
sudo rm -rf /var/lib/mysql
sudo mkdir /var/lib/mysql
sudo chown mysql:mysql /var/lib/mysql
sudo chmod 700 /var/lib/mysql# 编辑配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf 
# 将 lower_case_table_names=1  加到 [mysqld]  (必须添加,不然重新初始化mysql会失败)
lower_case_table_names=1# lower_case_table_names=1表示不区分大小写# 重新初始化mysql(会生成新的数据库密码)相当于重装mysql了
sudo mysqld --defaults-file=/etc/mysql/my.cnf --initialize --lower_case_table_names=1 --user=mysql --console# 启动服务
sudo systemctl start mysql.service# 查看临时root密码
sudo grep 'temporary password' /var/log/mysql/error.log# 输入上面获得的临时root密码
sudo mysql -u root -p# mysql要求修改密码,这里主动改一下
alter user 'root'@'localhost' IDENTIFIED BY '你的新密码';# 根据向导删除远程链接等
sudo mysql_secure_installation# 根据引导提示,进行选择:
Validate Password Component … (使用密码强度校验组件) n
New Password:(设置新密码,并重复一遍)
Remove anonymous users(删除匿名用户)y
Disallow root login remotely(拒绝远程root账号登录)n
Remove test database and access to it(移除test数据库) y
Reload privilege tables now(现在就重新载入权限表) y# 检查效果
sudo mysql -u root -p
SHOW VARIABLES LIKE 'lower_case_%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | OFF   |
| lower_case_table_names | 1     |
+------------------------+-------+#################  远程连接问题  ########################
# 编辑mysql配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf# 修改
bind-address=0.0.0.0# 进入数据库
sudo mysql -uroot -p# 在mysql中依次执行下述sql语句
use mysql;update user set Host='%' where User='root';select User, Host from user;# 查询结果
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | %         |
| uav              | %         |
| debian-sys-maint | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
# 刷新
flush privileges;

4、MySQL8.0 设置sql_mode 

# 编辑配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf# 插入下面配置:
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

说明在mysql8中,有的人会重启失败。可能是sql_mode中你添加了 NO_AUTO_CREATE_USER


那么,就把 sql_mode 中的 NO_AUTO_CREATE_USER 去掉,就成功解决了。


原因 NO_AUTO_CREATE_USER 在mysql8中已经不支持。

服务重启后,修改后校验:

systemctl restart msyqlmysql -uroot -pselect @@global.sql_mode;

5、MySQL8.0 改端口33060(个人遇到问题)

本人安装MySQL8.0版本时,有需求要将端口由默认是3306改成33060。

发现改死活改不了。只要改成了33060服务就重启失败。

以下是本人的最终解决方案:

1、MySQL8.0除了默认的3306端口之外,还会有个33060端口。3306端口是IPv4,而33060是IPv6。
2、mysqlx=0 只要在Linux系统下的/etc/mysql/mysql.conf.d/mysqld.cnf中,增加这个"mysqlx=0",
3、然后重启,33060和IPv6的字样,从进程中消失了。
4、它的原理就是,MySQL8.0增加了IPv6支持,然后这个配置项可以关闭掉。

vim  /etc/mysql/mysql.conf.d/mysqld.cnf

如上图。将端口改成33060后,在添加一个  mysqlx=0的配置。

格式最好和图中的一样。

然后重启服务就能修改成功了。

🆗了,这就是我的踩坑记录。祝各位好运!

生命不息,折腾不止!

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

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

相关文章

「AI Infra 软件开源不是一个选项,而是必然」丨云边端架构和 AI Infra专场回顾@RTE2024

在人工智能和开源技术蓬勃发展的当下&#xff0c;AI Infra 项目正经历着日新月异的变革。从跨平台运行时到云边端 AI 基础设施&#xff0c;再到多模态知识助手&#xff0c;创新浪潮席卷而来。这些进步不仅显著提升了技术指标&#xff0c;也为实时音视频处理、边缘计算、大模型应…

《Python制作动态爱心粒子特效》

一、实现思路 粒子效果&#xff1a; – 使用Pygame模拟粒子运动&#xff0c;粒子会以爱心的轨迹分布并运动。爱心公式&#xff1a; 爱心的数学公式&#xff1a; x16sin 3 (t),y13cos(t)−5cos(2t)−2cos(3t)−cos(4t) 参数 t t 的范围决定爱心形状。 动态效果&#xff1a; 粒子…

免费实时图片编辑工具:MagicQuill

参看&#xff1a; https://huggingface.co/spaces/AI4Editing/MagicQuill 人工智能交互式图像编辑&#xff1a;可以制定涂改增加删除

web——upload-labs——第九关——特殊字符::$DATA绕过

特殊字符::$DATA绕过 典型绕过场景 在一些系统中&#xff0c;::$DATA 被用于绕过文件路径的限制。比如&#xff1a; 路径过滤绕过&#xff1a;如果系统有某种机制来检查和限制文件路径&#xff08;例如&#xff0c;禁止访问某些系统目录或敏感文件&#xff09;&#xff0c;通…

本地部署 excalidraw

本地部署 excalidraw 0. 引言1. 本地部署 excalidraw2. 访问 excalidraw 0. 引言 Excalidraw 编辑器是一款开源虚拟手绘白板&#xff0c;支持协作且端到端加密。 1. 本地部署 excalidraw git clone https://github.com/excalidraw/excalidraw.git; cd excalidrawvi docker-c…

《Java核心技术 卷I》用户界面AWT事件继承层次

AWT事件继承层次 EventObject类有一个子类AWTEvent&#xff0c;它是所有AWT事件类的父类。 Swing组件会生成更多其他事件对象&#xff0c;都直接拓展自EventObject而不是AWTEvent。 AWT将事件分为底层(low-level)事件和语义事件。 语义事件&#xff1a;表示用户的动作事件&…

三周精通FastAPI:42 手动运行服务器 - Uvicorn Gunicorn with Uvicorn

官方文档&#xff1a;Server Workers - Gunicorn with Uvicorn - FastAPI 使用 fastapi 运行命令 可以直接使用fastapi run命令来启动FastAPI应用&#xff1a; fastapi run main.py如创建openapi.py文件&#xff1a; from fastapi import FastAPIapp FastAPI(openapi_url&…

整理iPhone空间:iphone怎么删除相簿

随着时间的积累&#xff0c;我们的iPhone中不仅会堆积大量照片&#xff0c;还可能会有多个不再需要的相簿。这些相簿不仅占用存储空间&#xff0c;还可能使相册应用变得杂乱无章。本文将探讨iphone怎么删除相簿&#xff0c;并介绍精简iPhone相册的技巧&#xff0c;使你的相册管…

路漫漫其修远兮,吾将上下而求索---第一次使用github的过程记录和个人感受

文章目录 1.仓库位置2.新建仓库3.配置仓库4.克隆和上传5.推荐文章和我的感受 1.仓库位置 这个仓库的位置就是在我们的这个个人主页的右上角&#xff1b;如果是第一次注册账号的话&#xff0c;这个主页里面肯定是不存在仓库的&#xff0c;需要我们自己手动的进行创建&#xff1…

ICML24最新开源时序基础模型MOMENT

论文标题&#xff1a;MOMENT: A Family of Open Time-series Foundation Models 论文链接&#xff1a;https://arxiv.org/pdf/2402.03885 前言 当前时间序列数据上预训练大型模型面临以下挑战&#xff1a;(1) 缺乏大型且统一的公共时间序列数据集&#xff0c;(2) 时间序列特…

SpringBoot Data Redis连接Redis-Cluster集群

使用SpringBoot Data Redis无法连接Redis-Cluster集群 最近在研究系统高并发下的缓存架构&#xff0c;因此自己在自己买的云服务器上搭建好Redis 5.0 版本的集群后&#xff0c;使用springboot的 RedisTemplate连接是发现总是访问不到集群节点。上网百度了发现没有好的解决办法&…

鸿蒙中服务卡片数据的获取和渲染

1. 2.在卡片中使用LocalStorageProp接受传递的数据 LocalStorageProp("configNewsHead") configNewsHeadLocal: ConfigNewsHeadInfoItem[] [] 注意&#xff1a;LocalStorageProp括号中的为第一步图片2中的键 3.第一次在服务卡片的第一个卡片中可能会获取不到数据…

ARM64环境部署EFK8.15.3收集K8S集群容器日志

环境规划 主机IP系统部署方式ES版本CPU架构用户名密码192.168.1.225Ubuntu 22.04.4 LTSdockerelasticsearch:8.15.3ARM64elasticllodyi4TMmZD ES集群部署 创建持久化目录(所有节点) mkdir -p /data/es/{data,certs,logs,plugins} mkdir -p /data/es/certs/{ca,es01}服务器…

应用系统开发(12) Zync中实现数字相敏检波

在 Xilinx Zynq 系列(如 Zynq-7000 或 Zynq UltraScale+)中实现数字相敏检波(DSP,Digital Synchronous Detection)可以通过硬件(PL部分,FPGA逻辑)和软件(PS部分,ARM Cortex-A 处理器)的协同工作来实现。以下是一个详细的设计方法,包括基本原理和 Zynq 的实现步骤。…

力扣hot100-->二分查找

目录 二分查找 1. 33. 搜索旋转排序数组 2. 34. 在排序数组中查找元素的第一个和最后一个位置 3. 240. 搜索二维矩阵 II 3. 287. 寻找重复数 二分查找 1. 33. 搜索旋转排序数组 中等 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&am…

南京邮电大学《智能控制技术》课后作业

一、问题一 复现二输入单输出模糊控制系统&#xff0c;改动其中一到两个环节&#xff08;隶属度设置、规则等&#xff09;&#xff0c;对比修改前后控制效果。 定义模糊 %Fuzzy Control for water tank clear all; close all;anewfis(fuzz_tank);%Fuzzy Inference System stru…

苹果ASA归因对接以及API接入

一、归因概要 广告归因&#xff0c;目的是用于衡量广告带来的激活用户的成本以及后续进一步的用户质量表现。 Apple Ads 广告平台是基于 App Store&#xff08;站内广告&#xff09;&#xff0c;同时属于自归因平台&#xff08;通常称为 SAN&#xff09;。这两个因素&#xff…

hhdb数据库介绍(9-18)

Oracle兼容性说明 数据类型兼容 本节主要介绍 HHDB Server与Oracle 数据库中数据类型的详细兼容对比信息。 比较项Oracle数据库数据类型HHDB Server数据类型对应项/替代项字符串/字符VARCHAR2( n )VARCHAR( n )字符串/字符NVARCHAR2( n )VARCHAR( n ) character set utf8字符…

服务器数据恢复—raid5阵列故障导致上层系统分区无法识别的数据恢复案例

服务器数据恢复环境&#xff1a; 某品牌DL380服务器&#xff0c;服务器中三块SAS硬盘组建了一组raid5阵列。服务器安装Windows Server操作系统&#xff0c;划分了3个分区&#xff0c;D分区存放数据库&#xff0c;E分区存放数据库备份。 服务器故障&#xff1a; RAID5阵列中有一…

STM32设计电流与温度监控python上位机监控平台设计

目录 前言 一、本设计主要实现哪些很“开门”功能&#xff1f; 二、电路设计原理图 电路图采用Altium Designer进行设计&#xff1a; 三、实物设计图 四、程序源代码设计 五、获取资料内容 前言 在现代工业自动化和智能设备管理中&#xff0c;对电流和温度的实时监控是…