签到成功

知道了

CNDBA社区CNDBA社区

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

2019-03-19 21:36 3098 2 MySQL
各位好:
       我在 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] 服务器域的配置参数,重启数据库后是能生效的。

待复,感谢!
用户回答
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Samdy_Chan

Samdy_Chan

关注
  • 0
    原创
  • 0
    翻译
  • 0
    转载
  • 0
    评论
  • 访问:5827次
  • 积分:0
  • 等级:注册会员
  • 排名:第1627名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by ZhiXinTech · 皖ICP备19020168号·

        QQ交流群