部分參考部落格 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