MySQL

  (最終更新日:2015.04.8)

CentOS 6にMySQL 5.6をyumインストールする手順

CentOS 6.6にyumでMySQL 5.6.23をインストールしましたので、その手順をメモ的にご紹介します。

MySQLの公式yumリポジトリを追加する

CentOS 6.6といえども、標準のMySQLは5.1になってしまいます。ですのでそのまま yum install とすると MySQL 5.1 がインストールされます。

そこでまずはMySQLが公式に提供しているyumリポジトリを追加します。

$ yum install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
$ yum info mysql-community-server

これでMySQL公式のyumリポジトリが追加されました。

MySQLをインストール(またはアップグレード)する

まずは既にMySQLがインストールされているか確認します。

$ rpm -qa | grep mysql
mysql-community-release-el6-5.noarch
mysql-5.1.73-3.el6_5.x86_64
mysql-devel-5.1.73-3.el6_5.x86_64
mysql-libs-5.1.73-3.el6_5.x86_64

今回はインストールされているようです。
ただしこのままアップグレードも簡単にできます。

$ yum install mysql-community-server
$ rpm -qa | grep mysql
mysql-community-common-5.6.23-2.el6.x86_64
mysql-community-libs-compat-5.6.23-2.el6.x86_64
mysql-community-release-el6-5.noarch
mysql-community-client-5.6.23-2.el6.x86_64
mysql-community-devel-5.6.23-2.el6.x86_64
mysql-community-server-5.6.23-2.el6.x86_64
mysql-community-libs-5.6.23-2.el6.x86_64

無事にアップグレードされました。

初期設定と初回起動

簡単に初期設定をしておきます。

$ cp /etc/my.cnf /etc/my.cnf.org
$ vi /etc/my.cnf

下記を追加してデフォルトの文字コードを指定します。

[mysql]
default-character-set = utf8

[mysqld]
character-set-server = utf8

MuSQLを起動して正常に起動することを確認し、また自動起動の対象にも追加しておきます。初回起動の際にはDBの作成などが走りますのでご注意を。

$ /etc/rc.d/init.d/mysqld start
$ chkconfig mysqld on
$ chkconfig --list mysqld

これで初期設定と初回起動は完了です。

rootパスワードの設定と匿名ユーザーの削除

MySQLのrootユーザー(OSじゃなくてDBユーザー)にパスワードを設定します。

$ mysql -u root
mysql> show databases;
mysql> show tables from mysql;
mysql> select user,host,password from mysql.user;
mysql> SET PASSWORD FOR root@localhost=PASSWORD('[パスワード値]');
mysql> SET PASSWORD FOR root@[正確なホスト名]=PASSWORD('[パスワード値]');
mysql> select user,host,password from mysql.user;

これでrootユーザーの該当サーバからのアクセス権限とパスワードの設定が完了しましたので、試しにパスワード入力でログインできるか確認しておきます。

//ホスト名がlocalhostのrootユーザでパスワードなしでMySQLサーバーへログインできないことを確認
# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

//ホスト名が自ホストのrootユーザでパスワードなしでMySQLサーバーへログインできないことを確認
# mysql -u root -h '[正確なホスト名]'
ERROR 1045 (28000): Access denied for user 'root'@'[正確なホスト名]' (using password: NO)

//ホスト名がlocalhostのrootユーザでパスワードありでMySQLサーバーへログインできることを確認
# mysql -u root -p
Enter password:

//ホスト名が自ホストのrootユーザでパスワードありでMySQLサーバーへログインできることを確認
# mysql -u root -h '[正確なホスト名]' -p
Enter password:

最後に匿名ユーザー(パスワード無しユーザー)を削除しておきます。

$ mysql -u root
mysql> select user,host from mysql.user;
mysql> delete from mysql.user where user='';
mysql> select user,host from mysql.user;

以上で完了です。

スポンサーリンク
スポンサーリンク

コメント

    • 匿名
    • 2017年 3月 06日

    助かりました。有難うございました。

      • おかしら
      • 2017年 3月 07日

      お役に立ててよかったです!

  1. この記事へのトラックバックはありません。

最近の記事

  1. Azure仮想マシン(CentOS 7)のStandardデ…
  2. 【CentOS 7】特定ユーザーのクォータ設定を削除(無制限…
  3. Impdp時にtablesを使うとファンクションやストアドは…
  4. Can’t locate HTTP/Reques…
  5. 【PHP】cURLでベーシック認証のページへPOSTして結果…
PAGE TOP