mysql_secure_installation 出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket

站在巨人的肩膀上

问题背景

mariadb版本: 10.1.38
问题描述:
安装mariadb后,修改mysql的配置文件/etc/my.cnf,将数据库路径datadir和socket修改到其他指定路径,使用mysql_secure_installation时进行数据初始化时报错。

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

问题解决

问题原因:
主要原因是因为在脚本mysql_secure_installation中已经把socket路径写死了。
解决方法:

$ vim /bin/mysql_secure_installation
make_config() {
    echo "# mysql_secure_installation config file" >$config
    echo "[mysql]" >>$config
    echo "user=root" >>$config
    esc_pass=`basic_single_escape "$rootpass"`
    echo "password='$esc_pass'" >>$config
    echo "socket=/otherdir/mysql/mysql.sock" >> $config
    #sed 's,^,> ,' < $config  # Debugging
}

重点就是添加这一行:
echo "socket=/otherdir/mysql/mysql.sock" >> $config
然后就可以重新使用mysql_secure_installation安装

你可能感兴趣的:(mysql_secure_installation 出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket)