openEuler arm 環境原始碼編譯mysql 8.0.37

拾墨、發表於2024-07-17

部分參考部落格 https://blog.csdn.net/ghpanxt/article/details/119387253

1、安裝依賴:yum install -y openssl-devel ncurses-devel libaio libaio-devel libtirpc-devel openldap-devel openldap git bison

【注意】:對於openEuler作業系統,還需要安裝rpcsvc-proto依賴,具體如下:

wget https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4/rpcsvc-proto-1.4.tar.gz
tar xzvf rpcsvc-proto-1.4.tar.gz
cd rpcsvc-proto-1.4
./configure
make
make install

2、下載MySQL8.0.37原始碼,連結地址:
https://downloads.mysql.com/archives/community/

3、解壓原始碼並編譯:

tar xzvf mysql-boost-8.0.37.tar.gz
cd ~mysql-8.0.37
mkdir build
cd build
mkdir -p /data/mysql/{data,log,run,tmp}
cmake .. -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DWITH_BOOST=~/boost_1_77_0
make -j 8
make install -j 8

4、在~/上建立mysql.sh

#新增mysql使用者
useradd mysql
#修改mysql的密碼
passwd mysql

#修改/etc/my.cnf的屬主和屬組

chown mysql:mysql /etc/mysql/my.cnf
#修改/data目錄及其子目錄的屬主和屬組
chown -R mysql:mysql /data
#修改mysql啟動指令碼的許可權
chmod 777 /usr/local/mysql/support-files/mysql.server
#將mysql啟動檔案複製到/etc/init.d/目錄中
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
#設定mysql開機自啟動
chkconfig mysql on
#修改mysql啟動指令碼的屬主和屬組
chown -R mysql:mysql /etc/init.d/mysql
#將MySQL配置到環境變數中
echo export PATH=$PATH:/usr/local/mysql/bin >> /etc/profile
#執行環境變數,讓mysql環境變數生效
source /etc/profile
#mysql資料庫初始化
mysqld --defaults-file=/etc/mysql/my.cnf --initialize

5、 修改/etc/mysql/my.cnf

[mysqld_safe]
log-error=/data/mysql/log/mysql.log
pid-file=/data/mysql/run/mysqld.pid

[mysqldump]
quick

[mysql]
no-auto-rehash

[client]
port            = 3309
socket          = /data/mysql/run/mysql.sock

[mysqld]
basedir=/usr/local/mysql
socket=/data/mysql/run/mysql.sock
tmpdir=/data/mysql/tmp
datadir=/data/mysql/data
default_authentication_plugin=mysql_native_password
port=3309
user=mysql

【注意】:需要記錄mysql初始密碼

6、執行mysql.sh

./mysql.sh

7、啟動mysql服務

/usr/local/mysql/bin/mysqld --defaults-file=/etc/mysql/my.cnf &

8、進入mysql

mysql -uroot -p -S /data/mysql/run/mysql.sock

#修改root密碼
alter user 'root'@'localhost' identified by "open12!@";
#更新許可權
flush privileges;
#退出mysql
exit;
#重新進入mysql,驗證密碼是否修改成功
mysql -uroot -p123456 -S /data/mysql/run/mysql.sock

相關文章