centos 7配備mysql-5.7.20

4753 ワード

1.ディレクトリおよびユーザーの作成
useradd mysql -s /sbin/nologin -M
mkdir /tools
mkdir /usr/local/mysql-5.7.20/{conf,tmp} -p
mkdir /data/mysql-5.7.20/data -p

2.ソフトウェアのダウンロード
cd /tools
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz
tar xf mysql-boost-5.7.20.tar.gz 
cd mysql-5.7.20

3.ダウンロード依存
yum -y install gcc gcc-devel gcc-c++ gcc-c++-devel autoconf* automake* zlib* libxml* ncurses-devel 
yum -y install ncurses libgcrypt* libtool* cmake openssl openssl-devel bison    bison-devel 
yum -y install imake perl-Data-Dumper libaio-devel boost boost-doc boost-devel
yum -y install ncurses5-devel  libxml2-devel expat-devel libaio bzr

4.コンパイル
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.20 \
-DSYSCONFDIR=/usr/local/mysql-5.7.20/conf \
-DMYSQL_DATADIR=/data/mysql-5.7.20/data \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/tools/mysql-5.7.20/boost/boost_1_59_0 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.7.20/tmp/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DEXTRA_CHARSETS=all \
-DENABLE_DOWNLOADS=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_ZLIB:STRING=1 \
-DENABLE_DTRACE=0 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EMBEDDED_SERVER=1 \

#コンパイルエラーの場合、rm-f CMakeCacheを削除するコンパイルキャッシュファイルがあります.txt
5.インストール
make && make install

6.ソフト接続
ln -s /usr/local/mysql-5.7.20  /usr/local/mysql

7.プロファイル
cat >>/etc/my.cnf<

8.pidファイルの作成所有者の変更
mkdir /data/mysql/{data,tmp,log}
touch /data/mysql/mysqld.pid

chown -R mysql:mysql /data/mysql

9.初期化起動
#   
/usr/local/mysql/bin/mysqld  --defaults-file=/etc/my.cnf --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data

#    
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf  --user=mysql &

#        mysql(            )
cat /data/mysql/log/error.log

mysql -uroot -p
  :
mysql> set password for root@localhost = PASSWORD('123456');
mysql> flush privileges;