站在巨人的肩膀上
问题背景
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安装