1、環境和安裝包准備
系統: CentOS-8.2.2004-x86_64-minimal.iso ,安裝的是最小化標准版 且 /etc/selinux/config 配置已禁用
mysql:mysql-8.0.21-el7-x86_64.tar.gz
安裝目錄:/usr/local/src
當前用戶:root
安裝依賴,不然啟動服務可能報錯,起不來:
yum install libncurses*
2、開始安裝:
第一步:把文件上傳至安裝目錄,解壓重命名為 mysql8.0
cd /usr/local/src
tar -xvf mysql-8.0.21-el7-x86_64.tar.gz
mv mysql-8.0.21-el7-x86_64 mysql8.0
第二步:切到mysql8.0目錄,建立日志目錄文件和數據目錄,配置 my.cnf 文件
cd mysql8.0
mkdir data
mkdir log
touch log/mysql.log
touch my.cnf
第三步:編輯my.cnf 添加內容:
(具體參考官網文檔 https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html)
[mysqld]
user = mysql
port = 9797 #端口自定義,我這里配置的是9797
basedir = /usr/local/src/mysql8.0
datadir = /usr/local/src/mysql8.0/data
pid-file = /usr/local/src/mysql8.0/mysql.pid
socket = /tmp/mysql.sock
log-error = /usr/local/src/mysql8.0/log/mysql.log [mysql_safe]
log-error = /usr/local/src/mysql8.0/log/mysql.log
pid-file = /usr/local/src/mysql8.0/mysql.pid
第四步:新建用戶和組,並把mysql8.0目錄指定給這個用戶
cd ..
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql mysql8.0
3、初始化mysql,獲取密碼,啟動服務,建立命令軟連接
第一步: 切到mysql8.0/bin目錄下,進行初始操作
cd mysql8.0/bin
./mysqld --defaults-file=/usr/local/src/mysql8.0/my.cnf --initialize --user=mysql
第二步:初始化完成,注意看打印的提示上面有mysql root賬戶的初始密碼,
復制到一邊等會改密碼用,類似於:
#冒號后面就是密碼
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: xxxxxxxxxxxx
第三步:修改服務文件啟動服務
cd ../support-files/
#修改配置文件:mysql.server 把 my.cnf 的配置寫到這里面,文件里面已經有這兩個變量,貼過來值即可,保存
#等於號之間不要有空格
basedir=/usr/local/src/mysql8.0 datadir=/usr/local/src/mysql8.0/data
第四步:啟動服務,添加命令軟鏈接到系統目錄
./mysql.server start
添加軟連接到 /usr/bin ,這樣可以全局執行mysql命令
ln -fs /usr/local/src/mysql8.0/bin/mysql /usr/bin/
ln -fs /usr/local/src/mysql8.0/bin/mysqldump /usr/bin/
4、更改root密碼,並配置用戶
第一步:用root賬號登錄mysql
mysql -u root -p
#輸入剛剛初始化的密碼
第二步:登錄成功,開始配置用戶
#修改本機登錄root密碼 ,我修改密碼為:wssf1234556,by后面的單引號里面定義自己的密碼
mysql>alter user 'root'@'localhost' identified with mysql_native_password by 'wssf1234556';
mysql> flush privileges;
#創建一個指定遠程主機root用戶,我這里指定的是192.168.3.10局域網機器,密碼是:wssf1234556
mysql> create user 'root'@'192.168.3.10' identified with mysql_native_password by 'wssf1234556';
mysql> grant all privileges on *.* to 'root'@'192.168.3.10' with grant option;
mysql> flush privileges;
mysql> quit;
5、添加啟動文件到系統目錄,這樣就能用系統命令操作mysql服務,用編輯工具編輯:
第一步 編輯啟動文件,添加內容:
vim /usr/lib/systemd/system/mysql.service
[Unit] Description = MySQL Server After = network.target After = syslog.target [Service] User = mysql Group = mysql Type = forking PermissionsStartOnly = true ExecStart = /usr/local/src/mysql8.0/support-files/mysql.server start ExecStop = /usr/local/src/mysql8.0/support-files/mysql.server stop ExecReload = /usr/local/src/mysql8.0/support-files/mysql.server restart LimitNOFILE = 5000 [Install] WantedBy = multi-user.target
第二步 設置開機自啟
systemctl enable mysql.service
#重啟試試mysql啟動沒
第三步 防火牆配置參考:https://www.cnblogs.com/dawnlz/p/12603180.html
6.以上是壓縮版安裝步驟,嫌麻煩的可以移步參考rpm安裝包粗暴的安裝方式:https://www.cnblogs.com/DotSDot/p/13334506.html