2017-11-25 5 views
0

私はUbuntu上で単一のMySQLサーバーインスタンスを使用していましたが、セキュリティ上の理由から、テストアプリケーションとプロードアプリケーションの両方がWebユーザーに対して公開されるため、2つのインスタンスを使用することにしました。したがって、私は2つのMySQLサーバーインスタンスを構成し、mysqld_multi startを実行してデータベースをセットアップしました。マイ/etc/mysql/my.cnf:MySQLインスタンスのrootユーザーのパスワードはどのように変更されますか?

[mysqld0] 
!includedir /etc/mysql/conf.d/ 
!includedir /etc/mysql/mysql.conf.d/ 
user=mysql 
pid-file=/var/run/mysqld/mysqld0.pid 
socket=/var/run/mysqld/mysqld0.sock 
port=3306 
datadir=/home/prod/data 
log_error=/var/log/mysql/error0.log 

[mysqld1] 
!includedir /etc/mysql/conf.d/ 
!includedir /etc/mysql/mysql.conf.d/ 
user=mysql 
pid-file=/var/run/mysqld/mysqld1.pid 
socket=/var/run/mysqld/mysqld1.sock 
port=3307 
datadir=/home/test/data 
log_error=/var/log/mysql/error1.log 

私は両方のインスタンスを起動するが、rootユーザーでそれらにアクセスすることはできませんmysqld_multi start 0,1を使用する - ローカルホスト上のrootのアクセス拒否をgeting。

私はこれらの指示に従いました(追加の - ソケットパラメータを提供します)https://support.rackspace.com/how-to/mysql-resetting-a-lost-mysql-root-password/彼らは前に私を助けてくれたが役に立たなかった。

セーフモードでMySQLに接続すると、元のインスタンスに設定されていた以前のユーザーも表示されます。

おそらく、私は複数のMySQLサーバインスタンスを理解していて、間違った方法でそれらを動作させるべきでしょうか?すべてのインスタンスが同じユーザーを共有していますか?新しく作成されたインスタンスにアクセスするにはどうすればよいですか?ここで

答えて

1

追加のパラメータでmysqld_safeを実行する必要がありました - 各インスタンスにディレクトリを提供するmysqld_safe --mysqld=/usr/sbin/mysqld --basedir=/home/test/data/mysql --datadir=/home/test/data --skip-grant-tables。その後、すべてが期待どおりに行われました

0

は、あなたは、MySQL 5.7.6の場合はSQL

でそれを行うことができます以降あなたは

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPassword'; 

やMySQL 5.7.5またはそれ以前のための操作を行うことができますが、

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword'); 
を行うことができる方法です
+0

これは、 'User = 'root';'ユーザ設定認証の文字列= PASSWORD( "mynewpassword")の更新とどのように違うのですか?このアップデートを実行した後、私はどこにも行きません:/ – user435421

+0

これらのクエリを実行しようとしたところ、--skip-grant-tablesのために実行できないというメッセージが表示されます。 – user435421

関連する問題