当前位置: 首页 > news >正文

在Ubuntu中安装配置MySql Server

1.安装MySql Server

在命令行控制台执行安装命令:

sudo apt install mysql-server

安装完成后,因为没有root用户的密码,所以,登录不了mysql的cli。另外,MySql 8以上,lower-case-table-names默认值0,且不支持直接修改配置文件的方式实现支持lower-case-table-names=1,需要重新初始化来设置root的密码与lower-case-table-names的值设置为1。

lower_case_table_names 是一个 MySQL 系统变量,它决定了如何存储和比较数据库和表名。这个变量可以设置为以下三个值之一:
  • 0:表名在存储和比较时区分大小写(默认值,Linux 系统通常使用)
  • 1:表名在存储和比较时不区分大小写(Windows 系统通常使用)
  • 2:表名在存储时区分大小写,但在比较时不区分(很少使用)

2.重新初始化

(1)重新初始化,必须停止mysql服务

sudo systemctl stop mysql

(2)清空mysql的数据目录中原来的文件前,必须授权给当前用户对此数据目录有操作权限

sudo chmod 755 /var/lib/mysql

(3)重新初始化,必须清空mysql的数据目录中原来的文件

sudo rm -rf /var/lib/mysql/*

(4)设置mysql配置文件内容

文件路径:/etc/mysql/my.cnf

[client]
default-character-set=utf8mb4[mysql]
default-character-set=utf8mb4[mysqld]
datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
lower_case_table_names=1
default-time_zone='+8:00'
max_connections=1000
max_connect_errors = 10000
init_connect='SET collation_connection = utf8mb4_unicode_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
#skip-character-set-client-handshake
innodb_buffer_pool_size=512M[mysqld_safe]
log-error=/var/log/mysql/mysqld.log
pid-file=/var/run/mysql/mysqld.pid#!includedir /etc/mysql/conf.d/
#!includedir /etc/mysql/mysql.conf.d/

(5)重新初始化mysql

sudo mysqld --initialize --user=root --lower-case-table-names=1

初始化完成后系统会在控制台输出root用户的初始密码,记下root的初始密码,用于首次登录。

(6)将/var/lib/mysql目录下的所有文件设置为归属mysql用户

否则启动mysql服务时会报错

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

(7)启动mysql服务

sudo systemctl start mysql

3.验证

(1)用root用户登录

mysql -u root -p

密码使用重置时,系统输出的初始密码。

(2)修改root用户的密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';use mysql;update user set Host = '%' where user = 'root';FLUSH PRIVILEGES;

(3)查看lower-case-table-names变量的值

show variables like 'lower_case_table_names';
http://www.dtcms.com/a/354888.html

相关文章:

  • [光学原理与应用-320]:光学产品不同阶段使用的工具软件、对应的输出文件
  • 计算机考研408《数据结构》真题模拟——数据结构与算法基本概念
  • DQN(深度Q网络):深度强化学习的里程碑式突破
  • Java 线程池拒绝策略
  • vscode pyqt5设置
  • 基于SpringBoot的老年人健康数据远程监控管理系统【2026最新】
  • JavaSE——八股文
  • 医院信息系统(HIS)的开发架构解析,代码示例
  • 面试tips--并发--进程与线程的区别线程通信方式总结
  • k8s集群1.20.9
  • 虚拟相机的最佳实践参考是什么
  • k8s是什么?
  • docker和k8s的区别
  • Android 开发 - 数据共享(数据共享、内容提供者实现、动态权限申请)
  • 面试记录7 c++软件开发工程师
  • Flask测试平台开发实战-第二篇
  • 面试之HashMap
  • 面试tips--JVM(3)--类加载过程
  • 【赵渝强老师】MySQL数据库的多实例环境
  • 前端Sentry数据分析与可视化:构建智能化监控仪表板
  • 大数据毕业设计选题推荐-基于大数据的痴呆症预测数据可视化分析系统-Spark-Hadoop-Bigdata
  • 重置 Windows Server 2019 管理员账户密码
  • 基于SamOut的音频Token序列生成模型训练指南
  • 【Rust】 3. 语句与表达式笔记
  • Flask测试平台开发实战-第一篇
  • 安科瑞三相智能安全配电装置在养老院配电系统中的应用
  • Flask测试平台开发,登陆重构
  • F010 Vue+Flask豆瓣图书推荐大数据可视化平台系统源码
  • 新型Zip Slip漏洞允许攻击者在解压过程中操纵ZIP文件
  • 大模型训练推理优化(5): FlexLink —— NVLink 带宽无损提升27%