第一步、下載壓縮包 下載社區版的 MySQL,根據需求下載對應版本,其中有最小安裝版本。具體各個版本的區別,可以上網查詢,鏈接 MySQL :: Download MySQL Community Server 第二步,解壓壓縮包,並複製到安裝目錄 進入到壓縮包所在的文件夾,解壓分為兩次,第一次解 ...
第一步、下載壓縮包
下載社區版的 MySQL,根據需求下載對應版本,其中有最小安裝版本。具體各個版本的區別,可以上網查詢,鏈接
第二步,解壓壓縮包,並複製到安裝目錄
進入到壓縮包所在的文件夾,解壓分為兩次,第一次解壓 xz 文件,第二次解壓 tar 文件。
xz -dv mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz tar -xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar
複製解壓後的文件到到要安裝的目錄,我要把 MySQL 安裝到 /usr/local/mysql,所以,運行以下命令,把解壓後的文件複製過去
sudo cp -r mysql-8.0.32-linux-glibc2.12-x86_64/* /usr/local/mysql
這裡需要修改以下安裝目錄的許可權,由於我們使用 mysql 用戶運行資料庫,所以,要把安裝目錄的擁有者改為 mysql,如果系統沒有,需要添加 mysql 用戶及分組,我們只使用 mysql 運行程式,所以指定了 mysql 禁止登錄,增加安全性
sudo groupadd mysql sudo useradd mysql -s /usr/sbin/nologin -g mysql
修改安裝目錄的擁有者為 mysql
chown -R mysql:mysql /usr/local/mysql/
第三步、編輯配置文件
編輯配置文件,我們把配置文件放到 /etc/my.cnf
配置如下:
[client] port=3306 # 埠 # mysqlx_port=33060 socket=/var/lib/mysql/mysql.sock # mysqlx_socket=/var/lib/mysqlx.sock [mysqld] # skip-grant-tables # mysql安裝目錄 basedir=/usr/local/mysql/ # mysql資料庫目錄 datadir=/var/lib/mysql/data/ port=3306 innodb_file_per_table=1 character-set-server=UTF8MB4 mysqlx_port=33060 socket = /var/lib/mysql/mysql.sock # mysqlx_socket=/var/lib/mysql/mysqlx.sock [mysqld_safe] # 錯誤日誌 log-error=/var/log/mysql/error.log # pid文件 pid-file=/usr/local/mysql/mysqld.pid tmpdir=/var/lib/mysql/mysql
第四步、確定一些相關的目錄
編輯文件 support-files/mysql.server,修改裡面的相關目錄
安裝目錄 basedir=/usr/local/mysql
配置目錄 /etc/my.cnf
資料庫文件目錄 datadir=/var/lib/mysql/data/
pid 文件 pid-file=/usr/local/mysql/mysqld.pid
第五步、初始化資料庫
初始化資料庫,註意,初始化成功後,終端會顯示 root 賬號密碼,一定要保存下來
sudo ./bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --initialize
第六步、啟動資料庫,連接並修改 root 密碼
sudo ./bin/mysqld --defaults-file=/etc/my.cnf --user=mysql
連接資料庫,修改 root 密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密碼';
第六步、守護 MySQL 進程
創建守護程式,保證在伺服器重啟後能夠自動啟動,運行
sudo vim /etc/systemd/system/mysql.service
內容如下,其中 User 和 Group 為 mysql
[Unit] Description=MySQL Server Documentation=man:mysqld(8) After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE = 5000 #Restart=on-failure #RestartPreventExitStatus=1 #PrivateTmp=false
# 使能 sudo systemctl enable mysql.service # 啟動 sudo systemctl start mysql.service # 查看狀態 sudo systemctl status mysql.service
第七步、驗證
重啟伺服器驗證 mysql 進程是否啟動
自律 平靜 思考 實踐