Ubuntu系统部署Mysql8.0后设置不区分大小写

部署MySQL

bash 复制代码
# 更新系统软件包列表
sudo apt update

# 安装MySQL Server
sudo apt install mysql-server

# 在安装时,系统会自动进行初始化,安装完成后MySQL已经处于运行状态

# MySQL常见命令
#启动MySQL
sudo systemctl start mysql

#停止MySQL
sudo systemctl stop mysql

# 设置MySQL开机自启
sudo systemctl enable mysql

# 检查MySQL运行状态
sudo systemctl status mysql

查看MySQL是否区分大小写

bash 复制代码
# 登录MySQL服务器
sudo mysql -u root -p

#查询MySQL是否不区分大小写
select @@lower_case_table_names;
lower_case_table_names = 0:表名存储为给定的大小写,比较时区分大小写(默认在Linux上)。
lower_case_table_names = 1:表名存储在磁盘是小写的,但比较时不区分大小写(默认在Windows上)。
lower_case_table_names = 2:表名存储为给定的大小写,但比较时转换为小写(默认在macOS上,但在Linux上不支持此设置)。

设置MySQL不区分大小写

bash 复制代码
#退出MySQL,关闭服务
sudo systemctl stop mysql 

#删除目录
sudo rm -rf /var/lib/mysql

#重新创建目录
sudo mkdir /var/lib/mysql

#设置权限
sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod 750 /var/lib/mysql

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

#在[mysqld]下增加配置
lower_case_table_names=1

#保存退出编辑文件
:wq

#初始化数据库
注:此操作会导致数据库初始化,并生成新密码,请提前备份数据表结构和数据!!!
sudo /usr/sbin/mysqld --initialize --user=root --lower-case-table-names=1

登录MySQL

bash 复制代码
#日志中查看新生成的密码
sudo cat /var/log/mysql/error.log | grep password

#登录MySQL,输入日志中的密码
mysql -uroot -p

#修改MySQL密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'you_password';

#刷新配置使其生效
FLUSH PRIVILEGES;

#查询是否修改成功,lower_case_table_names = 1则成功
select @@lower_case_table_names;

设置MySQL远程连接

bash 复制代码
#新建用户
CREATE USER 'username'@'%' IDENTIFIED BY 'you_password';

#授权
GRANT ALL PRIVILEGES ON *.* TO 'robot'@'%' WITH GRANT OPTION;

#刷新配置使其生效
FLUSH PRIVILEGES;
相关推荐
一只fish13 分钟前
MySQL 8.0 OCP 1Z0-908 题目解析(1)
数据库·mysql
深海蜗牛16 分钟前
Jenkins linux安装
linux·jenkins
FAQEW23 分钟前
MongDB和MySQL的区别
数据库·mysql·mongdb·区别
愚戏师27 分钟前
Linux复习笔记(三) 网络服务配置(web)
linux·运维·笔记
JANYI20181 小时前
嵌入式MCU和Linux开发哪个好?
linux·单片机·嵌入式硬件
熊大如如1 小时前
Java NIO 文件处理接口
java·linux·nio
晚秋大魔王1 小时前
OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——nettle库
linux·开源·harmonyos
农民小飞侠1 小时前
ubuntu 24.04 error: cannot uninstall blinker 1.7.0, record file not found. hint
linux·运维·ubuntu
某不知名網友1 小时前
Linux 软硬连接详解
linux·运维·服务器
hnlucky1 小时前
通俗易懂版知识点:Keepalived + LVS + Web + NFS 高可用集群到底是干什么的?
linux·前端·学习·github·web·可用性测试·lvs