关于deepin mysql 配置遇到的坑

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 关于deepin mysql 配置遇到的坑

由于我是deepin系统,使用apt-get 成功安装mysql并且启动

一:查找配置文件

众所周知,mysql的配置文件名为my.cnf,首先我通过locate命令得到了所有my.cnf文件路径:

root@tioncico-PC:/home/tioncico# locate my.cnf
/etc/alternatives/my.cnf
/etc/mysql/my.cnf
/etc/mysql/my.cnf.fallback
/home/tioncico/PhpstormProjects/test/my.cnf
/root/.local/share/Trash/files/my.cnf
/root/.local/share/Trash/files/mysql/mysql-test/include/default_my.cnf
/root/.local/share/Trash/files/mysql/mysql-test/suite/federated/my.cnf
/root/.local/share/Trash/files/mysql/mysql-test/suite/group_replication/my.cnf
/root/.local/share/Trash/files/mysql/mysql-test/suite/ndb/my.cnf
/root/.local/share/Trash/files/mysql/mysql-test/suite/ndb_big/my.cnf
/root/.local/share/Trash/files/mysql/mysql-test/suite/ndb_binlog/my.cnf
/root/.local/share/Trash/files/mysql/mysql-test/suite/ndb_ddl/my.cnf
/root/.local/share/Trash/files/mysql/mysql-test/suite/ndb_memcache/my.cnf
/root/.local/share/Trash/files/mysql/mysql-test/suite/ndb_rpl/my.cnf
/root/.local/share/Trash/files/mysql/mysql-test/suite/ndb_team/my.cnf
/root/.local/share/Trash/files/mysql/mysql-test/suite/ndbcluster/my.cnf
/root/.local/share/Trash/files/mysql/mysql-test/suite/rpl/extension/bhs/my.cnf
/root/.local/share/Trash/files/mysql/mysql-test/suite/rpl/my.cnf
/root/.local/share/Trash/files/mysql/mysql-test/suite/rpl_ndb/my.cnf
/root/.local/share/Trash/info/my.cnf.trashinfo
/var/lib/dpkg/alternatives/my.cnf

其实在这个时候,我已经知道了mysql默认加载的应该是/etc/mysql/my.cnf

但是不够严谨啊?mysql默认这个,为什么是默认这个,有文档吗?

在后来,我知道了新的命令,用于查看mysql的默认加载路径:

root@tioncico-PC:/home/tioncico# mysql --help |grep my.cnf
                      order of preference, my.cnf, $MYSQL\_TCP\_PORT,
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf 
root@tioncico-PC:/home/tioncico# mysqld --verbose --help |grep -A 1 'Default options'
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf 
root@tioncico-PC:/home/tioncico#

上面这2个命令都可以获得加载的路径

按照网上所说,默认配置文件根据这3个不同的路径优先级进行选择,现在我的磁盘中没有/etc/my.cnf,在用户下也没有,所以自然是加载/etc/mysql/my.cnf啦~

二:自定义路径

那我继续,新增一个/etc/my.cnf 的文件

\[mysql\]
port                           = 3307
socket                         = /media/tioncico/f/tmp/mysql.sock
\[client\]
socket                         = /media/tioncico/f/tmp/mysql.sock

然后重启mysql,去查看3307端口是否占用

root@tioncico-PC:/home/tioncico# service mysql restart
root@tioncico-PC:/home/tioncico# service mysql restart
root@tioncico-PC:/home/tioncico# lsof -i :3307
root@tioncico-PC:/home/tioncico#

哎?没调用成功?没有加载/etc/my.cnf???

这个咋整啊,咋回事啊,懵逼了啊

后来我理了理思路,service的命令,本质就是调用/etc/init.d/目录的命令而已

我找到了/etc/init.d/mysql,打开看了看

emmmmm,看不懂。但是我感觉不简单,所以重新找了其他系统的/etc/init.d/mysqld来进行查看

发现了deepin安装的mysql脚本和centos使用宝塔安装的脚本代码不一致

image.png

deepin的完全缺少这一行

所以,自定义配置项的引入,需要根据init.d的脚本来进行逻辑查看,才清楚到底是加载的什么配置文件

三:sock文件找不到的报错

root@tioncico-PC:/home/tioncico# mysql -uroot -p

Enter password:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

该报错的意思是没找到/tmp/mysql.sock,进,目录查看确实是没有的

但是后来我发现,是因为之前我新增了一个/etc/my.cnf  里面配置就是这个

image.png

然后问题来了:

由于我的mysql服务器加载的配置是

/etc/mysql/my.cnf

而 mysql -uroot -p 默认加载的配置文件成为了/etc/my.cnf

导致了这个命令以为/etc/my.cnf是真正的配置,去读取里面的sock配置,导致读取不出

只需要删除该配置文件即可

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
存储 SQL 关系型数据库
创建并配置RDS实例
在阿里云上创建RDS实例涉及登录控制台、进入RDS管理页面、创建实例、选择数据库引擎和版本、配置实例规格与存储、设定网络与安全组、设置实例信息、确认订单并支付,最后初始化数据库。操作步骤可能因界面更新或数据库引擎不同略有差异。
19 1
|
1月前
|
关系型数据库 MySQL 开发工具
MySQL5.7主从配置(Docker)
MySQL5.7主从配置(Docker)
728 0
|
2月前
|
存储 监控 关系型数据库
rds迁移前准备资源评估与配置
rds迁移前准备资源评估与配置
37 5
|
3月前
|
SQL 关系型数据库 MySQL
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
78 0
|
3月前
|
NoSQL 关系型数据库 MySQL
基于Python和mysql开发的BBS问答社区管理系统(源码+数据库+程序配置说明书+程序使用说明书)
基于Python和mysql开发的BBS问答社区管理系统(源码+数据库+程序配置说明书+程序使用说明书)
|
16天前
|
SQL 缓存 关系型数据库
mysql性能优化-慢查询分析、优化索引和配置
mysql性能优化-慢查询分析、优化索引和配置
83 1
|
22天前
|
缓存 关系型数据库 MySQL
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
|
1月前
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
15 1
|
1月前
|
弹性计算 关系型数据库 MySQL
rds子网配置
在阿里云中配置RDS子网涉及五个关键步骤:1) 创建或选择VPC作为私有网络环境;2) 在VPC内创建子网并确保IP地址不重叠;3) 关联路由表和安全组以控制流量及访问权限;4) 创建RDS实例时指定VPC和子网;5) 确保ECS实例与RDS在同一VPC或配置相应跨VPC访问,并调整安全组规则。这样可保障RDS与其他资源的通信及网络性能。
19 6
|
1月前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
216 0