真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MySQL8源代碼安裝(CentOS8版本)-創(chuàng)新互聯(lián)

目標(biāo)

在CentOS8上面源代碼編譯安裝MySQL8.

創(chuàng)新互聯(lián)建站長(zhǎng)期為超過(guò)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為紫金企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作,紫金網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。下載源代碼

打開(kāi)MySQL下載頁(yè)面:
https://www.mysql.com/downloads/

找到MySQL社區(qū)版本頁(yè)面:
MySQL社區(qū)版本頁(yè)面
選擇下載MySQL社區(qū)版服務(wù)器進(jìn)行下載:
MySQL社區(qū)服務(wù)器版
最后選擇,MySQL源代碼進(jìn)行下載,如下圖:
mysql源代碼下載boost

這里選擇了與平臺(tái)無(wú)關(guān)的的源代碼進(jìn)行下載,注意這里需要包含boost。

安裝

檢查下載的源代碼沒(méi)有問(wèn)題后,將源代碼上傳到需要安裝的linux服務(wù)器上面。

# 檢查用戶組是否存在
cat /etc/group | grep mysql
# 檢查用戶是否存在
cat /etc/passwd | grep mysql
# 添加用戶組
groupadd mysql
# 添加用戶
useradd -r -g mysql -s /bin/false mysql
# 解壓安裝包
tar zxvf ./mysql-boost-8.0.31.tar.gz
# 進(jìn)入源碼目錄
cd ./mysql-8.0.31/
# 創(chuàng)建編譯目錄
mkdir bld
# 進(jìn)入編譯目錄
cd bld
# 創(chuàng)建安裝目錄
mkdir /opt/mysql
# 配置
cmake .. -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=/opt/mysql -DCPACK_MONOLITHIC_INSTALL=1 -DWITH_DEBUG=0 -DWITH_SSL=system -DWITH_BOOST=$HOME/mysql-8.0.31/boost
# 編譯
make
# 安裝
make install

參數(shù)說(shuō)明:

  • -DBUILD_CONFIG=mysql_release:表示使用與官方一樣的配置;
  • -DCMAKE_INSTALL_PREFIX=/opt/mysql:設(shè)置安裝的目錄;
  • -DCPACK_MONOLITHIC_INSTALL=1:使 make package 生成單個(gè)安裝文件;
  • -DWITH_DEBUG=0:禁用debug;
  • -DWITH_SSL=system:支持ssl;
  • -DWITH_BOOST=$HOME/mysql-8.0.31/boost:boost安裝目錄。

期間遇到的依賴問(wèn)題:

dnf install gcc-toolset-11-gcc gcc-toolset-11-gcc-c++ gcc-toolset-11-binutils 
dnf install gcc-toolset-11-annobin-plugin-gcc
準(zhǔn)備數(shù)據(jù)庫(kù)配置文件
# 到安裝目錄
cd /opt/mysql/
# 參加數(shù)據(jù)庫(kù)數(shù)據(jù)文件目錄
mkdir data
# 修改權(quán)限
chown mysql:mysql data
chmod 750 data
# 準(zhǔn)備數(shù)據(jù)庫(kù)配置
vim my.cnf
my.cnf
[mysqld]
port=3306
socket=/tmp/mysql.sock
mysqlx-port=33060
mysqlx-socket=/tmp/mysqlx.sock
basedir=/opt/mysql
datadir=/opt/mysql/data
初始化與啟動(dòng)數(shù)據(jù)庫(kù)
bin/mysqld --defaults-file=./my.cnf --initialize --user=mysql

輸出如下:

2023-01-18T06:45:20.659891Z 0 [System] [MY-013169] [Server] /opt/mysql/bin/mysqld (mysqld 8.0.31) initializing of server in progress as process 1965037
2023-01-18T06:45:20.667103Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-01-18T06:45:20.987887Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-01-18T06:45:22.135569Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: xxxxxx
# 設(shè)置ssl
bin/mysql_ssl_rsa_setup
# 手動(dòng)啟動(dòng)數(shù)據(jù)庫(kù)
bin/mysqld_safe --defaults-file=./my.cnf --user=mysql

保持前臺(tái)手動(dòng)啟動(dòng)mysql進(jìn)程,新開(kāi)一個(gè)窗口,來(lái)加固mysql:

bin/mysql_secure_installation --port=3306 -h 127.0.0.1 -p
測(cè)試
mysql -P 3306 -h 127.0.0.1 -u root -p

輸出如下:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.31 Source distribution

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

mysql>

這樣就表示mysql啟動(dòng)成功了。
關(guān)閉mysql前臺(tái)運(yùn)行方式:

bin/mysqladmin shutdown -h 127.0.0.1 -P 3306 -p

輸入正確的root密碼,就會(huì)關(guān)閉mysqld進(jìn)程。

注冊(cè)為系統(tǒng)服務(wù) init舊腳本:
# 負(fù)責(zé)系統(tǒng)服務(wù)配置文件
cp support-files/mysql.server /etc/init.d/mysql.server
# 重新加載配置文件
systemctl daemon-reload
# 注冊(cè)為系統(tǒng)服務(wù)
systemctl enable mysql.server.service
# 啟動(dòng)數(shù)據(jù)庫(kù)
systemctl start mysql.server.service
# 查看數(shù)據(jù)庫(kù)啟動(dòng)狀態(tài)
systemctl status mysql.server.service
# 停止數(shù)據(jù)庫(kù)
systemctl stop mysql.server.service
Sys V新腳本:

如果在配置編譯時(shí),使用如下配置:

cmake .. -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=/opt/mysql -DCPACK_MONOLITHIC_INSTALL=1 -DWITH_DEBUG=0 -DWITH_SSL=system -DWITH_BOOST=$HOME/mysql-8.0.31/boost -DWITH_SYSTEMD=1 -DSYSTEMD_PID_DIR=/var/run/mysqld -DSYSTEMD_SERVICE_NAME=mysqld

即配置如下:
-DWITH_SYSTEMD=1 -DSYSTEMD_PID_DIR=/var/run/mysqld -DSYSTEMD_SERVICE_NAME=mysqld
這樣就是讓源碼編譯生產(chǎn)sys v的腳本。

cp ./usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/mysqld.service
# 重新加載配置文件
systemctl daemon-reload
# 注冊(cè)為系統(tǒng)服務(wù)
systemctl enable mysqld.server.service
# 啟動(dòng)數(shù)據(jù)庫(kù)
systemctl start mysqld.server.service
# 查看數(shù)據(jù)庫(kù)啟動(dòng)狀態(tài)
systemctl status mysqld.server.service
# 停止數(shù)據(jù)庫(kù)
systemctl stop mysqld.server.service

注意:這里這種方式sys v讀取的my.cnf位置在/opt/mysql/etc/my.cnf這個(gè)位置。

總結(jié)

到這里基本上就完成了mysql8的源碼安裝了。并且使用mysql提供的服務(wù)腳本,做成了系統(tǒng)服務(wù)。

參考:
  • 播布客小輝老師MySQL課程
  • 2.9.4 Installing MySQL Using a Standard Source Distribution
  • 2.9.6 Configuring SSL Library Support
  • 2.9.7 MySQL Source-Configuration Options
  • 5.1.8 Server System Variables
  • 2.5.9 Managing MySQL Server with systemd

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


本文題目:MySQL8源代碼安裝(CentOS8版本)-創(chuàng)新互聯(lián)
瀏覽地址:http://weahome.cn/article/dcopds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部