Ubuntu20.04版本部署MySQL8.0关闭库名表名区分大小写和自定义数据目录(datadir)路径

本篇文章记录关闭数据库表名库名区分大小写和设置自定义数据目录,安装时建议一个一个步骤进行,这样比较容易成功,下面是设置关闭区分表名库名大小写的。

一、关闭库名表名区分大小写

1、先安装数据库

步骤如下:

# 第一步:更新源
sudo apt-get update
# 第二步:安装MySQL服务
sudo apt-get install mysql-server
# 第三步:检查安装版本(默认安装版本8.0.36)
mysql --version
# 第四步:检查MySQL运行状态
systemctl status mysql
# 第五步 配置远程访问,在Ubuntu下MySQL缺省是只允许本地访问的
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf  
#找到 bind-address 修改值为 0.0.0.0(开启远程访问)
# 重启mysql
$ systemctl restart mysql

2、设置数据库关闭表名库名区分大小写

MySQL 8.0数据库名和表名默认是区分大小写的,但部署的项目需要关闭,所以服务器部署时需要设置关闭,好像还不能通过执行命令关闭,只能在安装时在MySQL的配置文件中一开始就设置关闭的字段,官方文档建议在初始化数据库时设置。

lower_case_table_names=1

使用于初次安装时使用,若使用后再需要修改,请先进行数据备份。修改步骤如下: 

# 第一步:停止MySQL服务
systemctl stop mysql
# 第二步:备份配置文件
sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.backup
# 第三步:停止服务
sudo service mysql stop
# 第四步:卸载刚安装的MySQL
sudo apt-get --purge autoremove mysql-server
# 第五步:删除目录/var/lib/mysql
sudo rm -rf /var/lib/mysql
# 第六步:还原配置文件
sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf.backup /etc/mysql/mysql.conf.d/mysqld.cnf
# 第七步:编辑配置文件
# 在myisam-recover-options  = BACKUP下添加lower_case_table_names=1
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 第八步:重新安装MySQL
sudo apt-get install mysql-server
# 安装过程中提示
# 配置文件 '/etc/mysql/mysql.conf.d/mysqld.cnf'
# ==> 系统中的这个文件或者是由您创建的,或者是由脚本建立的。
# ==> 软件包维护者所提供的软件包中也包含了该文件。
#   您现在希望如何处理呢? 您有以下几个选择:
#    Y 或 I  :安装软件包维护者所提供的版本
#    N 或 O  :保留您原来安装的版本
#      D     :显示两者的区别
#      Z     :把当前进程切换到后台,然后查看现在的具体情况
# 默认的处理方法是保留您当前使用的版本。
# *** mysqld.cnf (Y/I/N/O/D/Z) [默认选项=N] ?

# 选择N,使用自定义的文件版本
# 第九步:重启服务
systemctl start mysql
# 查看服务状态
systemctl status mysql

检查是否修改成功

sudo mysql -u root -p  # 输入root用户密码

mysql> use mysql

mysql> SHOW VARIABLES LIKE 'lower_case_%';

修改成功

二、 自定义数据目录(datadir)路径

1、停止MySQL服务

sudo systemctl stop mysql  # 停止MySQL服务

2、 将data目录移到自定义的目录下面,我们的自定义目录 /mnt/sdc/mysql_data 

sudo mv /var/lib/mysql /mnt/sdc/mysql_data  # 移动data目录到指定位置

3、 修改配置文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf  # 编辑配置文件

修改默认的路径datadir=/var/lib/mysql,替换为datadir=/mnt/sdc/mysql_data

4、更新AppArmor配置(如果已启用)以允许MySQL在新路径中读写。

编辑AppArmor配置文件:

sudo vim /etc/apparmor.d/usr.sbin.mysqld

确保包含新的数据目录路径,例如:

/mnt/sdc/mysql_data/mysql/ r,
/mnt/sdc/mysql_data/mysql/** rwk,

重新加载AppArmor配置:

sudo systemctl reload apparmor

参考文献

1、Ubuntu 20.04 安装MySQL 8,修改数据库名和表名默认区分大小写_ubuntu20.04 mysql8 区分表大小写-CSDN博客

2、ubuntu20.04 安装mysql8(小白版)_ubantu20.04安装mysql8和nacos-CSDN博客 

3、Ubuntu 20.04 + mysql8 安装以及配置大小写不敏感-CSDN博客 

4、lowercase - lower_case_table_names=1 on Ubuntu 18.04 doesn't let mysql to start - Stack Overflow

5、https://blog.51cto.com/u_16213313/7183684 

6、https://blog.csdn.net/koodoc/article/details/136611559 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++ 红黑树模拟实现

💓博主CSDN主页:麻辣韭菜💓   ⏩专栏分类:C知识分享⏪   🚚代码仓库:C高阶🚚   🌹关注我🫵带你学习更多C知识   🔝🔝 前言 前面我们实现了AVL树,发明AVL树…

通过腾讯云搭建电商demo的详细操作过程(建站系统 保姆级指导,巨详细)

前言:电商demo选择:使用了litemall。 litemall Spring Boot后端 Vue管理员前端 微信小程序用户前端 Vue用户移动端 代码地址可以是:https://gitee.com/linlinjava/litemall,网上也有许多其他人建的仓库,使用哪个都…

php弹幕播放器源码 支持对接苹果cms接口 蓝光json接口

弹幕播放器源码支持对接苹果cms接口蓝光json接口,里面已经有一条json付费接口,秒解腾讯爱奇艺等等各大平台的视频,弹幕系统可投放暂停广告,跑马灯广告等。 1.将播放器源码上传至服务器 2.你的域名/dmku/install/index.php进行安…

Redis入门到通关之Set命令

文章目录 ⛄ 概述⛄ Set类型的常见命令⛄RedisTemplate API❄️❄️ 添加Set缓存(值可以是一个,也可是多个)❄️❄️设置过期时间(单独设置)❄️❄️根据key获取Set中的所有值❄️❄️根据value从一个set中查询,是否存在❄️❄️获取Set缓存的长度❄️❄️移除指定的…

论文略读:ZipIt! Merging Models from Different Tasks without Training

iclr 2024 reviewer 评分 5666 在典型的深度视觉识别模型中,它们通常只能执行它们所训练的单一任务。这篇论文解决了一个极其困难的问题,即如何将具有不同初始化的、各自解决不同任务的独立模型合并成一个多任务模型,而无需任何额外训练。先…

使用 Python 实现复制粘贴的功能

pandas 里面有一个 pd.read_clipboard 函数,可以根据你复制的内容生成DataFrame。是的,就是我们平时选中,然后 CtrlC 时拷贝的内容。所以比较神奇,那么 pandas 到底是怎么做到的,它是怎么读出我们使用 Ctrl C 复制的内…

音乐文件逆向破解

背景 网易云等在线音乐文件的加密源码都按照一定的规则加密,通过对音乐文件的源码分析转化,有望实现对加密文件的解密 实现内容 实现对加密音乐文件的解密 实现对无版权的音乐文件的转化 实现环境 010editor 010 Editor是一个专业的文本编辑器和十六…

一起学习python——基础篇(21)

今天来说一下python中的如何编写get接口api、post接口api以及如何处理请求过来的key-value格式的参数。 1、get接口api,客户端请求参数通过key-value格式到服务端接口。代码如下: from flask import Flask,request app Flask(__name__) app.route(/…

展会邀请|4月24-26日成都工博会,ANDEAWELL邀您共赴蓉城!

2024年4月24-26日 中国西部国际博览城 欢迎您莅临ANDEAWELL展位 15H-D011! 一、诚挚邀请 尊敬的先生/女士您好: 2024成都国际工业博览会(简称“成都工博会”)将于4月24-26日在中国西部国际博览城举办,andeawell也将亮相此次展会,在此我们…

idea如何debug看springsecurity的过滤器顺序

idea如何debug看springsecurity的过滤器顺序 先配置一个Spring启动对象,后续需要根据这个对象来获取SpringSecurity的过滤器链 设置一个输出信息,需要在输出信息这里打上断点,才方便查看过滤器链 public static void main(String[] args) {//此时不…

蓝桥杯嵌入式模板(cubemxkeil5)

LED 引脚PC8~PC15,默认高电平(灭)。 此外还要配置PD2为输出引脚(控制LED锁存) ,默认低电平(锁住)!!! #include "led.h"void led_disp…

【Spring Boot 源码学习】SpringApplication 的 run 方法核心流程介绍

《Spring Boot 源码学习系列》 SpringApplication 的 run 方法核心流程介绍 一、引言二、往期内容三、主要内容3.1 run 方法源码初识3.2 引导上下文 BootstrapContext3.3 系统属性【java.awt.headless】3.4 早期启动阶段3.5 准备和配置应用环境3.6 打印 Banner 信息3.7 新建应用…

ETL快速同步用友u8数据方式

在企业信息化进程中,用友U8作为一款广泛应用的ERP系统,承载着企业核心业务数据。为了实现这些数据的有效利用与深度分析,往往需要通过ETL(Extract, Transform, Load)工具进行快速、准确的数据同步。本文将详细阐述ETL快…

Spring中的适配器模式

在Spring MVC框架中,适配器模式主要体现在对不同类型的处理器(即Controller)的统一处理上。Spring MVC通过适配器模式来保证无论Controller的实现方式如何多样化,都能够被DispatcherServlet统一调用和管理。具体使用方式如下&…

基于LabVIEW的CAN通信系统开发案例

基于LabVIEW的CAN通信系统开发案例 介绍了基于LabVIEW开发的CAN通信系统,该系统主要用于汽车行业的数据监控与分析。通过对CAN通信协议的有效应用,实现了车辆控制系统的高效信息交换与实时数据处理,从而提升了车辆性能的检测与优化能力。 项…

使用冒泡排序模拟实现qsort函数

目录 冒泡排序qsort函数的使用1.使用qsort函数排序整型数据2.使用qsort函数排序结构数据 冒泡排序模拟实现qsort函数今日题目1. 字符串旋转结果2.杨氏矩阵3.猜凶手4.杨辉三角 总结 冒泡排序 冒泡排序的核心思想是:两两相邻的元素进行比较 代码如下: //⽅法1 void bubble_so…

柯桥地区职业学校日语口语常用成人零基础入门

在日语中,“做饭”有几种表达方式: 1. 料理する 是最常用的说法,意思就是“做料理”。 例句: 毎日妻が料理をしている。 每天妻子都在做饭。 2. 食事を作る 意思是“做饭”,“制作膳食”。 例句: 友達のために食事#15857575376を作った。 为朋友做了饭。 编辑搜图 请点…

在uni-app使用iconfont中的图标

uni-app 如何使用iconfont中的图标 在uni-app中使用Iconfont图标通常涉及以下几个步骤: 步骤一:获取Iconfont资源 访问 iconfont-阿里巴巴矢量图标库,注册并登录账号。 浏览或搜索所需的图标,将它们添加至购物车或直接创建项目进…

下一代换脸和数字人生成神器Facefusion又更新了(懒人包)

号称“下一代换脸和数字人生成神器”的Facefusion软件在2024年3月底发布了最新的2.4.1版本,带来了一系列的更新和改进,使得人脸融合和分析技术更加易用和高效,以及一些性能和功能方面的全面提升。 Facefusion2.4.1版本更新亮点 Facefusion新…