*目次 [#tdd3341a] #contents *準備 [#p29ba481] -mysqlユーザを作成 # /usr/sbin/useradd -d /usr/local/mysql mysql # chmod 755 /usr/local/mysql/ *インストール [#p5af8c48] ソースダウンロード先~ http://dev.mysql.com/downloads/mysql/?rz=gdl#downloads 参照~ :SmartSmart|[[http://www.rfs.jp/sb/perl/08/10.html]] -作業用ディレクトリを作成 # mkdir /usr/local/src/mysql-5.0.45 # chown mysql.mysql mysql-5.0.45 -解凍 # su mysql $ tar xvzf mysql-5.0.45.tar.gz -コンパイル $ cd mysql-5.0.45 $ ./configure \ --prefix=/usr/local/mysql \ --with-charset=ujis \ --with-extra-charset=all \ --with-mysqld-user=mysql \ --with-innodb $ make -インストール $ su # make install -データベースの初期化 # /usr/local/mysql/bin/mysql_install_db *設定 [#x4a4be2b] **自動起動の設定 [#d1e405d3] -起動スクリプトをコピー # cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql :起動| # /etc/rc.d/init.d/mysql start :停止| # /etc/rc.d/init.d/mysql stop -自動起動に追加 # /sbin/chkconfig --add mysql **パスの設定 [#s516e782] ユーザmysqlにmysqlコマンド群へのパスを通す # su mysql $ vi ~/.bashrc 下記を追記 PATH="$PATH":/usr/local/mysql/bin 設定の反映 $ source ~/.bashrc *はまった事 [#id410e9c] phpのモジュールとして組み込む場合、configureに--with-mysql=/usr/local/mysqlオプションをつけるが、~ Cannot find MySQL header files under~ とエラーがでる。 どうやら~ /usr/local/mysql/include/mysql~ にあるヘッダーファイルを読み込めていないらしい。 $ ln -s /usr/local/mysql/include/mysql /usr/local/include/mysql と、/usr/local/include/にシンボリックリンクを張ることで解決するのがスマートかと。 *RPMでのインストール [#x81570ed] # yum install mysql mysql-devel mysql-server # /etc/rc.d/init.d/mysqld start 自動起動の追加 # /sbin/chkconfig --add mysqld # /sbin/chkconfig mysqld on # /sbin/chkconfig --list mysqld PHPから使用する場合、socketの指定 # vi /usr/local/lib/php.ini mysql.default_socket = /var/lib/mysql/mysql.sock ssh経由でデータを閲覧した際に文字化けする場合 # vi /etc/my.cnf [client] default-character-set=utf8 追加してMySQLを再起動してみる。 *CentOS6系でMySQL5.7を使用する [#c5d0e354] # デジタル署名をインポートする # rpm --import http://dev.mysql.com/doc/refman/5.7/en/checking-gpg-signature.html # yumリポジトリの設定をインストールする # rpm -ihv http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm # yumリポジトリをlistする # yum --disablerepo=\* --enablerepo='mysql57-community*' list available # MySQL Server 5.7をインストールする # yum --enablerepo='mysql57-community*' install -y mysql-community-server # rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm # yum info mysql-community-server # yum install mysql-community-server # mysql --version 参考~ [[CentOS 6.x に MySQL 5.7をyumで簡単にインストールする:https://magento.com/tech-resources/download]] 起動して立ち上がらなく、以下のようなエラーが /var/log/mysqld.log ファイルに残っている場合、 以下のようなエラーが /var/log/mysqld.log ファイルに残っている場合、 [ERROR] InnoDB: The Auto-extending innodb_system data file './ibdata1' is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pages! 3ファイルを削除します。~ ib_logfile0, ib_logfile1, ibdata1 # rm -f /var/lib/mysql/ib* すると以下のエラーが発生し、MySQLが起動しなくなります。 Fatal error: mysql.user table is damaged. Please run mysql_upgrade. セーフモードで起動します。 # mysqld_safe --skip-grant-tables & 別の画面から mysql_upgrade を実行します。 # mysql_upgrade -u root 停止します。 # /etc/rc.d/init.d/mysqld stop また my.cnf に以下の設定があるとエラーになるので、書き換えます。 [mysqld] #default-character-set=utf8 # エラーになる character-set-server=utf8