*MySQL(Ubuntu) [#q4186ac1] UbuntuにMySQLをインストールする。~ Windowsにインストールする方法は[[こちら>MySQL]]。 *ダウンロード [#g5e56df4] Linux用のアーカイブを[[Download MySQL Community Server>http://dev.mysql.com/downloads/mysql/]]からダウンロードする。~ 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.」をクリックするとダウンロードが始る。~ *インストール [#p0fef96c] 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 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(サーバー側の文字コード)を変更している。~ > [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(ms1.gif)~ ~ 次のSQLでは新しいデータベースを作成し、そのデータベースにアクセスする権限を持ったユーザーをパスワード付で作成している。(サンプル)~ > create database db1; grant all privileges on db1.* to 'db1' identified by 'password'; ~ 次のコマンドで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 ~ *コメント [#c09973cc] #comment