centos7 編譯安裝 mysql8

yum -y install gcc gcc++ gcc-c++ wget make libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel bison autoconf cmake bison-devel libaio-devel git ncurses-devel pcre pcre-devel libffi-devel libffi uuid uuid-devel libuuid-devel gperf wget -c https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gz wget -c https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.12.tar.gz tar -zxvf mysql-8.0.12.tar.gz mv boost_1_68_0.tar.gz mysql-8.0.12 cd mysql-8.0.12 mkdir configure cd configure cmake .. -DBUILD_CONFIG=mysql_release \ -DINSTALL_LAYOUT=STANDALONE \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DENABLE_DTRACE=OFF \ -DWITH_EMBEDDED_SERVER=OFF \ -DWITH_INNODB_MEMCACHED=ON \ -DWITH_SSL=bundled \ -DWITH_ZLIB=system \ -DWITH_PAM=ON \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-8.0.12/ \ -DINSTALL_PLUGINDIR="/usr/local/mysql-8.0.12/lib/plugin" \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EDITLINE=bundled \ -DFEATURE_SET=community \ -DCOMPILATION_COMMENT="MySQL Server (GPL)" \ -DWITH_DEBUG=OFF \ -DWITH_BOOST=.. #如果編譯出錯 rm -rf CMakeCache.txt 後重新編譯 make & make install #給mysql 創建用戶 useradd -M -s /sbin/nologin mysql #-M 不要自動建立用戶的登入目錄 -s 用戶登入後所使用的shell mkdir -p /mysql/mysqldata mkdir -p /var/log/mysql-8.0.12 touch /var/log/mysql-8.0.12/mysql-8.0.12.error.log touch /var/log/mysql-8.0.12/mysql-8.0.12.error.log0 touch /var/log/mysql-8.0.12/mysql-8.0.12.pid touch /var/log/mysql-8.0.12/mysql-8.0.12.pid0 chown -R mysql:mysql /var/log/mysql-8.0.12 #始化數據庫 執行完後會給你生成一個密碼 /usr/local/mysql-8.0.12/bin/mysqld --initialize --user=mysql --datadir=/mysql/mysqldata vi /etc/my.cnf [mysqld] datadir=/mysql/mysqldata socket=/tmp/mysql.sock port=3306 user=mysql basedir=/usr/local/mysql-8.0.12 #symbolic-links爲0表示數據庫或表不可以存儲在my.cnf中指定datadir之外的分區或目錄 symbolic-links=0 pid-file=/var/log/mysql-8.0.12/mysql-8.0.12.pid0 log-error=/var/log/mysql-8.0.12/mysql-8.0.12.error.log0 [mysqld_safe] log-error=/var/log/mysql-8.0.12/mysql-8.0.12.error.log pid-file=/var/log/mysql-8.0.12/mysql-8.0.12.pid #直接啓動mysql /usr/local/mysql-8.0.12/bin/mysqld --defaults-file=/etc/my.cnf & ln -s /usr/local/mysql-8.0.12/bin/mysql /usr/local/bin/mysql #這時可以通過mysql -uroot -p 來測試是否可以連接上 密碼是之前初始化數據庫時生成的密碼 #第一次登錄進去需要你修改密碼,你可以執行下面的命令 alter user 'root'@'localhost' identified by 'nihoa'; #設置啓動腳本 cp /usr/local/mysql-8.0.12/support-files/mysql.server /etc/init.d/mysqld vi /etc/init.d/mysqld #修改其中的三個變量爲你實際設置的變量 basedir=/usr/local/mysql-8.0.12 datadir=/mysql/mysqldata mysqld_pid_file_path=/var/log/mysql-8.0.12/mysql-8.0.12.pid0 #現在可以使用/etc/init.d/mysqld 來啓動及停止mysql了 /etc/init.d/mysqld start /etc/init.d/mysqld stop
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章