UbuntuにMySQLをインストールする。
Windowsにインストールする方法はこちら。
Linux用のアーカイブをDownload MySQL Community Serverからダウンロードする。
Select Platform:で「Linux - Generic」を選択し、「Linux - Generic (glibc 2.5) (x86, 64-bit), Compressed TAR Archive」(OSが32bitの場合は32-bit)の「Download」をクリックする。
ログインやサインアップを促すページに移るが、左下の「No thanks, just start my download.」をクリックするとダウンロードが始る。
Ctrl+Alt+Tで端末を起動する。
ここからはコマンドラインで操作を行う。
まずtarコマンドでtarファイルを展開する。ファイル名はダウンロードしたファイルのファイル名を入力する。
tar -xvf mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz
次に、展開したファイルを/usr/local/mysqlに異動する。パスワードの入力を求められるのでパスワードを入力する。
sudo mv ./mysql-5.6.17-linux-glibc2.5-x86_64 /usr/local/mysql
続いてmysqlというユーザーを作成しディレクトリの所有者をユーザーmysqlに変更する。
ユーザーを作成する際にパスワード等を聞かれるので入力する。パスワード以外は入力せずEnterを押すことで次に進め、確認メッセージが表示されたらyを入力する。
また、VirtualBoxを使用している場合は共有フォルダにアクセスできるよう作成したユーザーに権限を追加する。権限の変更後に再ログインする。
sudo adduser mysql sudo chown -R mysql /usr/local/mysql sudo gpasswd -a mysql vboxsf
MySQLのサーバーを立ち上げるためにはlibaio1が必要なので、apt-getコマンドで取得しておく。
sudo apt-get install libaio1
MySQLの設定ファイルmy.cnfを作成する。
あらゆるオプションを設定できるが、ここではMySQLサーバーの設定[mysqld]のdatadir(データの保存先)とcharacter-set-server(サーバー側の文字コード)を変更している。
MySQLサーバーのデフォルトの文字コードはlatin1のためそのままでは日本語が使用できない。
[mysqld] datadir="/media/sf_shared/db1/data" character-set-server=utf8
カレントディレクトリを変更し、mysql_install_dbを実行しデータベースを初期化する。--defaults-fileに作成したmy.cnfを指定する。
cd /usr/local/mysql/ ./scripts/mysql_install_db --defaults-file=/media/sf_shared/db1/my.cnf
MySQLサーバー起動時・クライアント起動時にmy.cnfを毎回指定しなくてもいいよう/etc/my.cnfにシンボリックリンクを作成する。
(defaults-fileが未指定の場合LinuxのMySQLは/etc/my.cnfを最初に検索する)
sudo ln -s /media/sf_shared/db1/my.cnf /etc/my.cnf
MySQLサーバーを試しに起動する。
バックグランドで起動するよう&をつけて実行している。
/usr/local/mysql/bin/mysqld_safe &
mysqlコマンドでmysqlに接続する。
オプション-uにMySQLのユーザー名を指定する。
SQLの文末に;(セミコロン)をつけてSQLを実行する。
終了するときは\qを入力する。
/usr/local/mysql/bin/mysql -uroot
#ref(): File not found: "ms1.gif" at page "MySQL(Ubuntu)"
次のSQLでは新しいデータベースを作成し、そのデータベースにアクセスする権限を持ったユーザーをパスワード付で作成している。(サンプル)
create database db1; grant all privileges on db1.* to 'db1' identified by 'パスワード';
次のコマンドでMySQLサーバーを終了する。
オプション-uにMySQLのユーザー名(管理者権限が必要)を指定する。
/usr/local/mysql/bin/mysqladmin -uroot shutdown
デフォルトではデータベースのユーザーにパスワードが設定されていないため、次のコマンドでパスワードを設定する。
このコマンドはMySQLサーバーが起動しているときに実行する。
パスワード設定後はmysqlコマンドやmysqladminコマンドを実行するときに-pオプションをつけ、実行時にパスワードが聞かれるようにする。
cd /usr/local/mysql/ ./bin/mysql_secure_installation
最初に現在のパスワードを聞かれるので入力せずEnter。
続いて下記のメッセージが表示されるが、次のような意味であるのでyまたはnを入力する。
Set root password? | rootユーザーのパスワードを設定するか?(新しいパスワードの入力を2回求められる) |
Remove anonymous users? | 匿名ユーザー(ユーザー名のないユーザー)を削除するか |
Disallow root login remotely? | 別の端末からのrootユーザーでのアクセスを禁止するか |
Remove test database and access to it? | testデータベース(デフォルトで勝手に作られているデータベース)を削除するか |
Reload privilege tables now ? | 権限テーブルの再読み込みを行うか |
OSの起動時に自動的にMySQLサーバーが起動するよう登録を行う。
OSの再起動後mysqlコマンドを実行して起動していることを確認する。
sudo ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql sudo update-rc.d mysql defaults 99 01
MySQLのログファイルは設定したdatadirの直下に作成される。
/media/sf_shared/db1/data/DB1.err