編譯安裝Mysql(5.7)
阿新 • • 發佈:2020-11-05
1 安裝環境
1)清除以往mysql殘留痕跡(新機不用)
yum erase mariadb mariadb-server mariadb-libs mariadb-devel -y userdel -r mysql rm -rf /etc/my.conf rm -rf /var/lib/mysql
2)下載編譯工具
yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake
2 建立mysql使用者及mysql目錄 並授權
useradd -s /bin/false -M -r mysql mkdir -p /usr/local/{data,mysql,log} chown -R mysql.mysql /usr/local/mysql
3 上傳軟體包並解壓(可從官網上或各大開源軟體映象站直接下載)
#下為清華大學開源映象站的下載連結
#https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/mysql-boost-5.7.30.tar.gz
tar xvf mysql-boost-5.7.30.tar.gz
4 預編譯 編譯 安裝
#需先進入解壓後的目錄操作 可用 -C 指定解壓目錄 cd mysql-5.7.30/ #這裡列出一些常用的預編譯選項 可選擇寫入 #詳細的預編譯選項參見官網 #https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html cmake . -DWITH_BOOST=boost/boost_1_59_0/ \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安裝目錄 -DSYSCONFDIR=/etc \ #配置檔案存放(預設可以不安裝配置檔案) -DMYSQL_DATADIR=/usr/local/mysql/data \ #資料目錄(含錯誤日誌)-DINSTALL_MANDIR=/usr/share/man \ #幫助文件 -DMYSQL_TCP_PORT=3306 \ #預設埠 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ #sock檔案位置 -DDEFAULT_CHARSET=utf8 \ #預設字符集 -DEXTRA_CHARSETS=all \ #擴充套件的字符集支援所有的 -DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \ #上下查詢歷史命令 -DWITH_SSL=system \ #使用私鑰和證書登入 -DWITH_EMBEDDED_SERVER=1 \ #嵌入式資料庫 -DENABLED_LOCAL_SERVER=1 \ #從本地匯入資料 -DWITH_INNOBASE_STORAGE_ENGINE=1 #預設的儲存引擎 支援外來鍵
出現下圖所示即表示預編譯成功
然後進行編譯安裝
#預編譯完成後進行編譯安裝 此過程較緩慢 提升伺服器配置可加快進度 make && make install
出現下圖所示即表示安裝成功
一般預編譯不出現問題 編譯安裝也不會出現問題 所以重點在於預編譯 這也是編譯安裝所有服務的難點
5 初始化
初始化後會有系統給定的預設密碼 由12位隨機字元組成 需複製儲存 後續需用這個密碼登陸資料庫
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
6 修改配置檔案(/etc/my.cnf)
#將原有配置檔案全刪除 寫入下列資料 #下列資料路徑需與預編譯安裝時指定的目錄一致 [mysqld] basedir=/usr/local/mysql #指定安裝目錄 datadir=/usr/local/mysql/data #指定資料存放目錄 [client] socket = /tmp/mysql.sock #sock檔案存放位置
7 啟動服務(放入後臺執行 不然要佔一個終端)
/usr/local/mysql/bin/mysqld_safe --user=mysql &
8 使用之前儲存的密碼直接登陸資料庫或先修改資料庫密碼
#登入資料庫 /usr/local/mysql/bin/mysql -uroot -p'password' #修改密碼 /usr/local/mysql/bin/mysqladmin -uroot -p'oldpassword' password 'newpassword'
9 為mysql設定快捷命令
#建立符號連結 ln -s /usr/local/mysql/bin/* /usr/local/sbin/
10 配置mysql服務管理工具(選做)
#將mysql交給service管理 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld #將mysql交給chkconfig管理的開機啟動中 chkconfig --add mysqld chkconfig mysqld on