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

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

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

1、先安装数据库

步骤如下:

bash 复制代码
# 第一步:更新源
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的配置文件中一开始就设置关闭的字段,官方文档建议在初始化数据库时设置。

bash 复制代码
lower_case_table_names=1

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

bash 复制代码
# 第一步:停止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

检查是否修改成功

bash 复制代码
sudo mysql -u root -p  # 输入root用户密码

mysql> use mysql

mysql> SHOW VARIABLES LIKE 'lower_case_%';

修改成功

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

1、停止MySQL服务

bash 复制代码
sudo systemctl stop mysql  # 停止MySQL服务

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

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

3、 修改配置文件

bash 复制代码
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf  # 编辑配置文件

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

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

编辑AppArmor配置文件:

bash 复制代码
sudo vim /etc/apparmor.d/usr.sbin.mysqld

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

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

重新加载AppArmor配置:

bash 复制代码
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

相关推荐
松涛和鸣1 分钟前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
likangbinlxa19 分钟前
【Oracle11g SQL详解】UPDATE 和 DELETE 操作的正确使用
数据库·sql
r i c k1 小时前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦1 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
IvorySQL2 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·2 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德2 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫2 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i3 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.3 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql