vid*_*har 13 mysql database-administration mysql-error-2002
当我调用文件时,mysql_secure_installation我得到一个错误
[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):
Run Code Online (Sandbox Code Playgroud)
但my.cnf文件中给定的sock文件是/home/mysqk123/tmp/mysql.sock,我使用的是redhat linux 5.3和mysql 5.1.47
我知道mysql_secure_installation脚本执行的任务可以手动执行,但在这里我必须运行脚本[不允许手动执行任务]
Ran*_*eed 15
由于此实用程序旨在用于标准安装,并且因为它似乎不接受任何参数,所以我看到很少的选项:
mysql_secure_installation以使其使用您的自定义位置.如果我理解正确,脚本会在子例程的第46行周围创建一个临时配置文件./.my.cnf.$$($$是pid)make_config.修改如下:(免责声明:未经测试:)
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
}
Run Code Online (Sandbox Code Playgroud)
同样,此脚本旨在用于标准的开箱即用安装.告诉您的老板(或您的客户),如果您能够将MySQL配置为使用非标准套接字位置,您还可以手动运行简单命令,例如删除帐户和设置密码.
确保启动mysql或mariadb,例如:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Run Code Online (Sandbox Code Playgroud)
MySQL Socket 声明应位于[mysqld]您的my.cnf(位于/etc/mysql/my.cnfDebian 风格)下。还可以使用以下命令找到 MySQL Socket 信息:
mysql> show variables like 'socket';
+-----------------------------------------+-------------------------------+
| Variable_name | Value |
+-----------------------------------------+-------------------------------+
| socket | /yourpath/mysql.sock |
+-----------------------------------------+-------------------------------+
1 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
更新当前会话的环境变量并执行命令,例如:
export MYSQL_UNIX_PORT=/home/mysql123/tmp/mysql.sock
./mysql_secure_installation
Run Code Online (Sandbox Code Playgroud)
您还可以创建指向套接字文件的符号链接,然后将其删除:
ln -s /home/mysqk123/tmp/mysql.sock /var/lib/mysql/mysql.sock
mysql_secure_installation # Do your stuff
rm -rf /var/lib/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24038 次 |
| 最近记录: |