18

ファイルを呼び出すと、次の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): 

しかし、my.cnf ファイルに指定された sock ファイルは /home/mysqk123/tmp/mysql.sock であり、redhat linux 5.3 と mysql 5.1.47 を使用しています。

mysql_secure_installation スクリプトによって実行されるタスクは手動で実行できることはわかっていますが、ここではスクリプトを実行する必要があります [タスクを手動で実行することは許可されていません]

4

6 に答える 6

16

このユーティリティは標準のインストールで使用することを意図しており、パラメーターを受け入れないように見えるため、オプションはほとんどありません。

  • 手順の間、デフォルトのソケットの場所を使用するように MySQL を一時的に構成します (または、デフォルトの場所からカスタムの場所へのシンボリック リンクが機能する場合もあります)。
  • 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
}

繰り返しますが、このスクリプトは、標準のすぐに使用できるインストールで使用するためのものです。非標準のソケット ロケーションを使用するように MySQL を構成できた場合は、アカウントの削除やパスワードの設定などの簡単なコマンドを手動で実行することもできることを上司 (またはクライアント) に伝えてください。

于 2013-03-15T18:53:12.507 に答える
10

MySQL Socket 宣言は、 ( Debian フレーバーでは にあり[mysqld]ます) の下にある必要があります。MySQL ソケット情報は、次のコマンドを使用して見つけることもできます。my.cnf/etc/mysql/my.cnf

mysql> show variables like 'socket';
+-----------------------------------------+-------------------------------+
| Variable_name                           | Value                         |
+-----------------------------------------+-------------------------------+
| socket                                  | /yourpath/mysql.sock          |
+-----------------------------------------+-------------------------------+
1 rows in set (0.00 sec)

現在のセッションの環境変数を更新し、次のコマンドを実行します。

export MYSQL_UNIX_PORT=/home/mysql123/tmp/mysql.sock
./mysql_secure_installation
于 2018-06-18T14:12:17.337 に答える
5

ソケット ファイルへのシンボリック リンクを作成してから削除することもできます。

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
于 2016-05-27T06:00:06.320 に答える