关于 centos 7.2 安装mysql 5.7 部分参数不生效的问题!

Samdy_Chan 2019-03-19 09:34:14
各位好:
我在 CentOS 7.2 x86_64 系统试过分别安装 5.7.25 和 5.7.19 版本的Linux通用二进制 mysql 社区版都碰到如下 my.cnf 配置文件中 [client]和[mysql] 配置域不生效的问题,比如 socket 和 prompt(SQL提示符格式)都不生效, 查过目录权限没问题和 my.cnf 文件也只有这一个,而且 [mysqld] 服务器域的配置是生效的。

具体如下:

1、/usr/local/mysql/my.cnf 配置文件如下:
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3309
socket = /usr/local/mysql/mysql.sock
character_set_server = utf8
server_id = 1
log_bin = /usr/local/mysql/log/mysql-bin
query_cache_type = 2

[client]
port = 3309
socket = /usr/local/mysql/mysql.sock

[mysql]
port = 3309
socket = /usr/local/mysql/mysql.sock
prompt = "\\u@\\d*\\h \\R:\\m:\\s >"


2、并且指定了 defaults-file=/usr/local/mysql/my.cnf 启动项:
[root@centos-mysql mysql]# mysqld_safe --defaults-file=/usr/local/mysql/my.cnf --user=mysql &
[1] 5151
[root@centos-mysql mysql]# 2019-03-19T12:56:31.135298Z mysqld_safe Logging to '/usr/local/mysql/data/centos-mysql.err'.
2019-03-19T12:56:31.164697Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

[root@centos-mysql mysql]# ps -ef | grep mysql
avahi 692 1 0 19:02 ? 00:00:00 avahi-daemon: running [centos-mysql.local]
root 5151 4784 0 20:56 pts/2 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/my.cnf --user=mysql
mysql 5340 5151 2 20:56 pts/2 00:00:00 /usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=centos-mysql.err --pid-file=centos-mysql.pid --socket=/usr/local/mysql/mysql.sock --port=3309

3、以上 my.cnf 配置文件中,已经指定了 socket 连接符文件配置项的,但登录时还是要指定,如不指定,会默认读取 /tmp/mysql.sock 这个socket连接文件,如下:
[root@centos-mysql mysql]# mysql -uroot -pcaserver
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

4、遍历整个系统全盘目录,就只有我配置的这个 my.cnf 文件,不存在多个 my.cnf 配置文件覆盖参数的问题,如下:
[root@centos-mysql mysql]# find / -name "my*.cnf"
/usr/local/mysql-5.7.19-linux-glibc2.12-x86_64/my.cnf
find: ‘/run/user/42/gvfs’: Permission denied

[root@centos-mysql mysql]# find / -name ".my*.cnf" ##文件名加.的隐藏文件也查了,也没有
find: ‘/run/user/42/gvfs’: Permission denied

5、查 mysql 目录,权限都正常,并且 mysql.sock 连接文件也能正常生成,如下:
[root@centos-mysql mysql]# ls -ltr
total 72
-rw-r--r-- 1 mysql mysql 2478 Jun 22 2017 README
-rw-r--r-- 1 mysql mysql 17987 Jun 22 2017 COPYING
drwxr-xr-x 3 mysql mysql 4096 Mar 19 20:40 include
drwxr-xr-x 4 mysql mysql 4096 Mar 19 20:40 man
drwxr-xr-x 2 mysql mysql 4096 Mar 19 20:41 bin
drwxr-xr-x 5 mysql mysql 4096 Mar 19 20:41 lib
drwxr-xr-x 2 mysql mysql 4096 Mar 19 20:41 support-files
drwxr-xr-x 28 mysql mysql 4096 Mar 19 20:41 share
drwxr-xr-x 2 mysql mysql 4096 Mar 19 20:41 docs
drwxr-x--- 2 mysql mysql 4096 Mar 19 20:42 mysql-files
-rw-r--r-- 1 mysql mysql 462 Mar 19 20:48 my.cnf
drwxr-xr-x 2 mysql mysql 4096 Mar 19 20:56 log
-rw------- 1 mysql mysql 5 Mar 19 20:56 mysql.sock.lock
srwxrwxrwx 1 mysql mysql 0 Mar 19 20:56 mysql.sock
drwxr-x--- 5 mysql mysql 4096 Mar 19 20:56 data

[root@centos-mysql mysql]# ls -ld /usr/local/mysql
lrwxrwxrwx 1 mysql mysql 35 Mar 19 20:42 /usr/local/mysql -> mysql-5.7.19-linux-glibc2.12-x86_64

------
麻烦各位大侠帮忙看看,为何在 my.cnf 配置文件的 [client] 和 [mysql] 域的配置参数不生效的问题,但测试修改 [mysqld] 服务器域的配置参数,重启数据库后是能生效的。

待复,感谢!
...全文
216 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Samdy_Chan 2019-03-25
  • 打赏
  • 举报
回复
问题已解决!
SDNWRAE 2021-12-02
  • 举报
回复
@Samdy_Chan 咋解决

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧