当我调用文件时,我会得到如下错误:
[mysqk123@InstallZeMo bin]$ ./mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Enter current password for root (enter for none):
但是my.cnf文件中给定的sock文件是/home/mysqk123/tmp/mysql.sock,我使用的是Redhat Linux 5.3和mysql 5.1.47。
我知道mysql_secure_安装脚本执行的任务可以手动执行,但这里我必须运行脚本[不允许手动执行任务]
最佳答案
由于该实用程序是用于标准安装,而且似乎不接受任何参数,所以我看到的选项非常少:
临时配置mysql以在过程中使用默认的套接字位置(或者,从默认位置到自定义位置的符号链接可能只起作用)。
修改脚本,使其使用自定义位置。如果我理解正确,脚本将在mysql_secure_installation
子例程的第46行周围创建一个临时配置文件,作为./.my.cnf.$$
($$
是PID)。
修改如下:
(免责声明:未测试:)
make_config() {
echo "# mysql_secure_installation config file" >$config
echo "[mysql]" >>$config
echo "user=root" >>$config
echo "password='$rootpass'" >>$config
# add the line below
echo "socket=/home/mysqk123/tmp/mysql.sock" >>$config
}
同样,这个脚本是用于标准的开箱即用安装。告诉你的老板(或者你的客户),如果你能够配置MySQL使用一个非标准的套接字位置,你也可以手动运行简单的命令,比如删除帐号和设置密码。
关于mysql - mysql_secure_installation“无法通过socket连接到本地MySQL服务器”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15439307/