部署伺服器環境的時候經常要安裝mysql,以下是常見的安裝方式 源碼安裝 rpm包安裝 yum源安裝 這篇主要介紹yum源安裝。 yum源下載 進入 https://dev.mysql.com/downloads/ 頁面,可以看到有很多的下載項,我們選擇 MySQL Yum Repository(對 ...
部署伺服器環境的時候經常要安裝mysql,以下是常見的安裝方式
- 源碼安裝
- rpm包安裝
- yum源安裝
這篇主要介紹yum源安裝。
yum源下載
進入 https://dev.mysql.com/downloads/ 頁面,可以看到有很多的下載項,我們選擇 MySQL Yum Repository(對應的鏈接是:https://dev.mysql.com/downloads/repo/yum/) 項進入,選擇需要的包下載,這裡我選擇 mysql80-community-release-el7-3.noarch.rpm
或者直接再linux命令行執行以下命令下載
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
安裝yum源
進入mysql80-community-release-el7-3.noarch.rpm 的下載目錄
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
修改yum源的下載鏈接
yum源安裝之後,預設的下載鏈接速度比較慢,需要修改下下載鏈接,國內一般可以修改成阿裡雲的鏈接
- 備份系統自帶的yum源配置文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
- 下載aliyun的yum源配置文件到/etc/yum.repos.d/
cd /etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
選擇版本
yum源配置文件中會包含多個版本的mysql,預設會選擇最新的版本(目前是MySQL 8.0),這裡我們選擇MySQL 5.7, 編輯 /etc/yum.repos.d/mysql-community.repo文件,把 [mysql57-community] 的 enabled 設置為 1, 把預設的 [mysql80-community] 的 enabled 設置為 0
vim /etc/yum.repos.d/mysql-community.repo
# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
安裝mysql
使用以下命令安裝MySQ, 命令會安裝MySQL服務和其他的MySQL包
yum install mysql-community-server
啟動MySQL
安裝完之後,使用以下命令啟動MySQL
systemctl start mysqld
MySQL第一次啟動時會執行以下的操作
- 伺服器的初始化
- data目錄會產生SSL證數和key文件
- 安裝validate_password 組件並且生效
- 創建超級賬戶 'root'@'localhost',為超級賬戶生成密碼並且把密碼保存到錯誤日誌中,通過以下命令獲取密碼
grep 'temporary password' /var/log/mysqld.log
root的密碼時臨時生成的,需要儘快修改,使用以下命令修改
shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
修改MySQL配置
mysql配置預設是在 /etc/my.cnf, 可以根據項目具體的需要設置選項,以下是幾個常用設置項
-
datadir=/var/lib/mysql
-
socket=/var/lib/mysql/mysql.sock
-
log-error=/var/log/mysqld.log
-
pid-file=/var/run/mysqld/mysqld.pid
-
character-set-server=utf8
-
port=3306
-
collation-server=utf8_general_ci
-
expire-logs-days = 300
-
max_connections = 1024
-
default_storage_engine = InnoDB