MySQL 5.7.10をソースインストールし、データベースの初期化やらなんやらをやった後、なぜかrootでログインできません。
$ /usr/local/mysql/bin/mysql -u root 〜エラー〜
対処方法はこちら » MySQL 5.7.10のrootユーザーのパスワード
※以下の内容は古いです。
初期状態ではrootユーザーにパスワードはかかっていないはずなので、このコマンドで対話モードに入れるはずなんですが。
もしかしたら、cmakeのオプションが間違っているのかもしれませんが、今のところよくわからないので、以下のようなカッコ悪い方法で、rootユーザーのパスワードを設定しました。
まず、端末を1個立ち上げ、以下のようにしてMySQLを起動します。
$ sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
--skip-grant-tablesオプションを付けると、パスワードが設定されていてもパスワードなしでログインできるようになります。
次に、もう1個端末を立ち上げて、rootユーザーでログインします。
$ /usr/local/bin/mysql -u root
MySQLの対話モードで以下のようにコマンド入力し、rootのパスワードを設定します。
$ /usr/local/bin/mysql -u root mysql> use mysql mysql> UPDATE user SET authentication_string=password('root_passwd') WHERE user='root';
※root_passwordは適当なものに置き換えてください。
最初に立ち上げたMySQLプロセスを殺します。
$ ps ax | grep mysqld 22342 pts/27 S 0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe 〜省略〜 22448 pts/27 Sl 0:00 /usr/local/mysql/bin/mysqld --basedir=〜省略〜 ※表示されたプロセス番号を殺す。 $ kill -9 22342 22448
MySQLを普通に再起動します。
$ sudo /usr/local/mysql/support-files/mysql.server start Starting MySQL .. *
rootでMySQLにログインします。
$ mysql -u root -p Enter password: ※パスワードを入力する。