# /usr/sbin/useradd -d /usr/local/mysql mysql # chmod 755 /usr/local/mysql/
ソースダウンロード先
http://dev.mysql.com/downloads/mysql/?rz=gdl#downloads
参照
# 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
# 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
ユーザmysqlにmysqlコマンド群へのパスを通す
# su mysql $ vi ~/.bashrc
下記を追記
PATH="$PATH":/usr/local/mysql/bin
設定の反映
$ source ~/.bashrc
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/にシンボリックリンクを張ることで解決するのがスマートかと。
# 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を再起動してみる。
# デジタル署名をインポートする # 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
参考
CentOS 6.x に MySQL 5.7をyumで簡単にインストールする
すると以下のエラーが発生し、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