如果你的mysql安装目录下有mysql.sock,登陆mysql的时候却提示mysql找不到mysql.sock(2),那么可能是你my.cnf设置的socket变量和mysql默认设置的socket有冲突。你可以尝试注释掉/etc/my.cnf/里面的socket变量,使用默认变量即可。
如果你登录提示unknown variable 'datadir=/*,你也可以试试注释datadir变量。扩展阅读:https://stackoverflow.com/questions/44855895/cannot-export-database-with-mysqldump-unknown-variable-datadir-var-lib-mysql
注意:/etc/my.cny配置文件里面不要添加[mysql]变量,否则会和[mysqld]变量冲突。
我的环境是centos7,mysql_5.7.22版本。下面是我/etc/my.cnf配置文件:
[client]
port=3306
#socket=/home/data/mysql/mysql.sock
[mysqld]
server-id = 1
datadir=/home/data/mysql/
port=3306
log_timestamps=SYSTEM
#socket=/home/data/mysql/mysql.sock
#socket=/var/lib/mysql/mysql.sock