下載地址:
https://dev.mysql.com/downloads/mysql/

操作系統選擇Linux - Generic,OS版本選擇Linux - Generic (glibc 2.12) (x86, 64-bit),
選擇下載這個包:
mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz
解壓到/usr/local路徑:
tar -xvf mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz -C /usr/local/

切換到/usr/local目錄,修改mysql根目錄名稱:
mv mysql-8.0.25-linux-glibc2.12-x86_64/ mysql

創建mysql用戶:
groupadd mysql
useradd -g mysql mysql

切換到mysql根目錄下 cd /usr/local/mysql,並創建data文件夾:
mkdir data

授權mysql用戶文件夾訪問權限:
chown -R mysql:mysql /usr/local/mysql

切換到/usr/local/mysql/bin目錄下,初始化mysql:
./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
記住初始化生成的密碼:例:8.nFa0S.YfwU

編輯mysql配置文件 vim /etc/my.cnf,並修改對應datadir、socket、log-error、pid-file為如下內容:
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
max_connections=1000
[mysqld_safe]
log-error=/usr/local/mysql/data/mariadb.log
pid-file=/usr/local/mysql/data/mariadb.pid

把mysqld服務拷貝到系統:
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
授權並設置開啟自啟動:
chmod +x /etc/init.d/mysql
chkconfig --add mysql

啟動mysql服務
service mysql start

設置mysql軟鏈接:
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

登錄mysql:
mysql -uroot -p
輸入剛才初始化生成的臨時密碼:例:8.nFa0S.YfwU

使用mysql語句
use mysql;

修改密碼
alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[新密碼]';

再次執行 use mysql,選擇mysql數據庫
設置用戶host
update user set host='%' where user ='root';

開放遠程連接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
執行時會報錯,但是再執行一次update user set host='%' where user ='root'后,這個命令就能執行成功了。原因不明。

刷新權限
flush privileges;

退出
exit

查看防火牆狀態
firewall-cmd --state

查看防火牆開放端口
firewall-cmd --zone=public --list-ports
開放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
配置防火牆端口生效
firewall-cmd --reload
再查看防火牆開放端口,已經能看到3306端口開放了

