Ubuntu20.04+安装MySQL8+ 并设置忽略表名大小写

news2024/11/26 6:23:00

更新apt

apt -y update

安装mysql-server

apt -y install mysql-server

查看服务是否启动

ps -ef | grep mysql

如下图启动成功


或者

systemctl status mysql

设置root登录密码

执行命令:

mysql -uroot

选择数据库:

use mysql;

修改密码:

alter user 'root'@'localhost' identified by 'root';

刷新权限表:

flush privileges;

退出:

exit;

允许远程连接

登录:

mysql -uroot -p

回车输入密码
选择数据库:

use mysql

修改host运行远程登录:

update user set host='%' where user='root';

刷新权限:

flush privileges;

退出:

exit;

如果服务器防火墙放通了端口还是不能通过公网Ip连接
1.修改配置文件:

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

将bind-address = 127.0.0.1注释掉(即在行首加#)
2.重启服务

service mysql restart 

设置忽略表名大小写

查看状态
通过 show variables 命令查看当前 mysql 是否是区分大小写,如下:

mysql> show variables like '%case_table%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_table_names | 0     |
+------------------------+-------+
1 row in set (0.00 sec)

注意:

lower_case_table_names=1 表示 mysql 是不区分大小写的

lower_case_table_names=0 表示 mysql 是区分大小写的

修改配置
MySQL 8.0 以上版本,大小写敏感配置比较坑,根据官方文档可以发现如下信息:

lower_case_table_names can only be configured when initializing the server. Changing the lower_case_table_names setting after the server is initialized is prohibited.
lower_case_table_names 只能在初始化服务器时配置。 禁止在服务器初始化后更改 lower_case_table_names 设置。

上面这段话的大概意思是说:lower_case_table_names 配置必须在安装好 MySQL 后,初始化 mysql 配置时才有效。一旦 mysql 启动后,再设置是无效的,而且启动报错。

注意:先将数据库下所有数据保存备份,如果你不在意数据的话直接删除数据

停止服务
在修改配置之前,请先把 mysql 服务停止。执行下面命令:

sudo systemctl stop mysql.service

删除错误日志
为了方便查看 mysql 的错误日志,可以先将 /var/log/mysqld.log 删除。命令如下:

sudo rm /var/log/mysqld.log

删除系统数据库与用户数据库
将 mysql 数据库中的系统数据库和用户数据库都删除掉,执行下面命令:

sudo rm -rf /var/lib/mysql

创建数据库目录
上面将已存在的数据库目录 /var/lib/mysql 删除,下面将手动创建一个空目录且进行授权。命令如下:

(1)手动创建一个 mysql 目录,即上面刚刚删除的 mysql 目录

 sudo mkdir /var/lib/mysql

(2)为 /var/lib/mysql 目录授权,设置目录的所属用户和所属组

sudo chown -R mysql:mysql /var/lib/mysql

(3)查看目录详细信息,授权成功

 ll | grep mysql

配置 lower_case_table_names
使用 vim 编辑器编辑 /etc/mysql/mysql.conf.d/mysqld.cnf 文件,如下:

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

在文件中的最后一行添加 lower_case_table_names 配置,配置如下:

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
log-error       = /var/log/mysql/error.log
# 刚刚添加的配置
lower_case_table_names = 1

保存配置信息。

初始化 MySql
执行如下命令初始化 mysql 数据库:

sudo mysqld --defaults-file=/etc/mysql/my.cnf --initialize  --user=mysql --basedir=/var/lib/mysql --datadir=/var/lib/mysql

启动 MySql 服务

sudo systemctl start mysql.service

登录 MySql
由于上面执行了 MySql 初始化操作,曾经的密码已经不能用了。MySQL 将在初始化过程中创建临时密码,临时密码存储在 /var/log/mysql/error.log 中。

(1)使用 cat 和 grep 命令配合查找,命令如下:

sudo cat  /var/log/mysql/error.log  | grep password

然后会输出这样一条记录

2023-02-04T16:22:06.353690Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 8SEiqslneT&t

注意:上面的 8SEiqslneT&t 就是临时密码

(2)使用临时密码登录 MySql

mysql -u root -p

然后输入临时密码回车
(3)修改用户密码,将密码修改为a123456

alter user 'root'@'localhost' identified with mysql_native_password by 'a123456';

注意:其中 MYSQL_NATIVE_PASSWORD 是由于客户端连接 MySQL 时提示 “plugin caching_sha2_password” 错误,把 plugin 换成MYSQL_NATIVE_PASSWORD 后就没问题。

(4)确认配置是否生效

show variables like '%lower_case%';

输出如下结果则生效

+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | OFF   |
| lower_case_table_names | 1     |
+------------------------+-------+
2 rows in set (0.01 sec)

刷新权限表:

flush privileges;

退出:

exit;

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

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

相关文章

0602基础使用(一)-react路由-react

文章目录 1 基本使用1.1 安装js库1.2 使用示例1.3 总结 2 路由组件与一般组件2.1 路由组件2.2 路由组件与普通组件示例2.3 总结 3 NavLink组件3.1 NavLink 简介3.2 NavLink实现高亮与自定义样式 结语 1 基本使用 1.1 安装js库 react-router-dom,react的一个插件库…

flink on k8s提交任务

目录 相关文档前置准备构建镜像提交任务 相关文档 https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/deployment/resource-providers/native_kubernetes/ 前置准备 flink的lib目录下放入两个依赖 bcpkix-jdk15on-1.68.jar bcprov-jdk15on-1.69.jar 创建用户…

Vue过滤器的基本使用

过滤器 功能:对要显示的数据进行特定格式化后再显示 注意:并没有改变原本的数据,是产生新的对应的数据 声明:过滤器不是必须要用到的东西,而是vue提供处理数据的方式而已,想用就用,不想用可以…

Elasticsearch 实战篇 | 黑马旅游

一、酒店搜索和分页 需求:实现黑马旅游的酒店搜索功能,完成关键字搜索和分页 1、定义实体类,接收前端的参数 如果当搜索条件为空的时候,就返回全部数据,不为空才按照key来搜索 二、条件过滤 修改实体类,…

边缘计算开源项目解读-kubeedge metamanager实现

0 背景 笔者在前面的几篇文章从设备管理和运维的角度解读了kubeedge的相关代码流程和架构。本文将切入kubeedge edgecore的另一个核心业务,即边云协同处理设备元数据相关代码的解读。如果说前面的设备管理和运维并不能体现kubeedge作为边缘计算数据处理平台的特点&a…

【Andoroid】之【APK瘦身】

一、如何查看 APK 的组成 如果要优化 APK 的大小,我们首先需要知道我们编译出来的 APK 都包含哪些东西,然后针对占用大的做裁剪,或者删除不需要的东西,从而达到瘦身的目的。 查看 APK 的内容占用情况很简单,打开 AS …

进程间通信,有名管道(pipe)与无名管道(fifo)的解析与运用,以及代码实现

🎊【进程通信与并发】专题正在持续更新中,进程,线程,IPC,线程池等的创建原理与运用✨,欢迎大家前往订阅本专题,获取更多详细信息哦🎏🎏🎏 🪔本系列…

API网关:开源Apinto网关-应用管理篇

需求痛点 在这互联网高速发展的时代,企业业务系统多、渠道广,如何管理内外部调用端系统具有极大的挑战。 数量方面:API网关需要对各端应用统一管理,例如对企业自身很多的前端应用,包括不限于web应用、移动APP、小程序&…

AI边缘计算智能分析网关灭火器缺失检测与告警的实现过程

AI智能分析网关基于边缘智能,部署了多种AI深度学习算法,可对接入的多路视频流进行智能检测、智能识别等,包括人脸检测与识别、车辆检测与识别、车牌识别、烟火识别、安全帽识别、区域入侵检测等。今天我们来介绍下关于灭火器缺失检测与告警的…

基于Yolov5/Yolov7的DRConv动态区域感知卷积,即插即用,涨点显著!

1.Dynamic Region-Aware Convolution 论文:https://arxiv.org/pdf/2003.12243.pdf 本文提出了一种新的卷积算法,称为动态区域卷积算法(DRConv) ,该算法能够自动将滤波器分配到相应的空间区域,因此,DRConv具有强大的语义表示能力,并完美地保持了平移不变性。 DRConv的…

在IIS7下使用ASP连接ACCESS数据库时提示如下错误的处理方法

“/”应用程序中的服务器错误。 未在本地计算机上注册“microsoft.jet.oledb.4.0”提供程序。 这是由于使用的Win2008系统是64位的,以前Win2003是32位。有以下两种解决方法: 1、修改连接数据库的代码: 如原代码是 DataPath "App_Data…

Eclipse代码提示突然失灵的解决方案

不知道改动了啥,突然间Eclipse的代码提示就失效了,发现缺少后极不方便。 使用快捷键:Alt/ 提示 No Default Proposals 为什么使用快捷键:Alt/ 会提示“No Default Proposals。”呢? 网上提示可能是热键冲突 但是一套…

可调直动差压卸荷阀DDRV-100、DBRV-100

优点: 及时响应压力变化。 低压升。 潜在调节(抗震动)。 调整位置可锁定。 铝制操作手柄和填料压盖。 坚硬化处理。 可调直动式卸荷阀 ZRV-63 0类 可调直动式卸荷阀 DRV2-080 系列8 可调直动式卸荷阀 DRV-080_*_H 系列8 直动可调式…

微服务架构详解(一)

目录 1.微服务简介 2.微服务技术选型 3.微服务核心组件 3.1.注册中心 3.1.1.注册中心对比 3.2.服务网关 3.2.1.主流API网关对比 3.3.分布式配置中心 3.4.服务容错(服务熔断) 3.5.负载均衡 3.5.1.负载均衡有好几种实现策略, 3…

读取配置文件(properties、yaml)的八种方法

基础&#xff1a; 一、通过普通的I/O流读取配置文件(BufferedReader) 1、properties文件 2、测试类 public class TestReadProperties {Testpublic void IOReadProperties() throws IOException {// 把配置文件的内容封装进mapMap<String, Object> map new HashMap&l…

视频可视化搭建项目,通过简单拖拽方式快速生产一个短视频

一、开源项目简介 《视搭》是一个视频可视化搭建项目。您可以通过简单的拖拽方式快速生产一个短视频&#xff0c;使用方式就像易企秀或百度 H5 等 h5 搭建工具一样的简单。目前行业内罕有关于视频可视化搭建的开源项目&#xff0c;《视搭》是一个相对比较完整的开源项目&#…

矿井下无人值守变电所电力监控系统的探讨与产品选型

摘要&#xff1a;为了探讨井下无人值守变电所的电力监控系统技术&#xff0c;以西山煤电马兰矿为背景&#xff0c;详细阐述了井下无人值守变电所电力监控系统技术的各项基本参数&#xff0c;如额定工作电压及整机输入视在功率、交换机或监控分站的传输口、高压配电装置的传输口…

(二)ElasticSearch 辅助工具 Kibana 介绍与安装

1、什么是 kibana &#xff1f; Kibana 是一个针对Elasticsearch的开源分析及可视化平台&#xff0c;用来搜索、查看交互存储在Elasticsearch索引中的数据。使用Kibana&#xff0c;可以通过各种图表进行高级数据分析及展示。 Kibana让海量数据更容易理解。它操作简单&#xff…

怎么使用chatgpt,GPT的使用方式解析

怎么使用Chatgpt&#xff1f;这是很多人心中的疑惑&#xff0c;更多的人只是听说过chatgpt的大名&#xff0c;但是具体连见都没见过gpt&#xff0c;那么接下来小编就来给大家详细的介绍一下吧。 一.了解chatgpt ChatGPT是一个由人工智能和自然语言处理技术构建的聊天机器人。通…

[pytorch]FixMatch代码详解-数据加载

原文 FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence. 这里还有一个译制版的很方便阅读 FixMatch&#xff1a;通过一致性和置信度简化半监督学习 代码 pytorch的代码有很多版本&#xff0c;我选择了比较简单的一个&#xff1a; unoffi…