確定系統版本
命令:cat /etc/centos-release
輸入:CentOS Linux release 7.4.1708 (Core)
安裝方式
- yum 安裝
- 編譯安裝(以后有時間介紹,不同的系統不同的版本,編譯安裝會有各種不同的問題)
yum 安裝方式介紹
CentOS 7 默認安裝了mariadb數據庫,但是我們要使用MySQL
- 進入本機的源文件目錄
cd /usr/local/src/
- 下載MySQL的repo源
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
- 安裝MySQL源
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
- 使用yum安裝mysql-server(這個過程可能要30分鍾左右)
yum -y install mysql-server
- 安裝完成
總下載量:208 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/7): libaio-0.3.109-13.el7.x86_64.rpm | 24 kB 00:00:00
(2/7): mysql-community-common-5.7.29-1.el7.x86_64.rpm | 311 kB 00:00:04
(3/7): mysql-community-libs-5.7.29-1.el7.x86_64.rpm | 2.5 MB 00:01:39
(4/7): mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm | 1.3 MB 00:00:44
(5/7): postfix-2.10.1-7.el7.x86_64.rpm | 2.4 MB 00:00:00
(6/7): mysql-community-client-5.7.29-1.el7.x86_64.rpm | 26 MB 00:09:19
(7/7): mysql-community-server-5.7.29-1.el7.x86_64.rpm | 175 MB 00:28:37
已安裝:
mysql-community-libs.x86_64 0:5.7.29-1.el7
mysql-community-libs-compat.x86_64 0:5.7.29-1.el7
mysql-community-server.x86_64 0:5.7.29-1.el7
作為依賴被安裝:
libaio.x86_64 0:0.3.109-13.el7
mysql-community-client.x86_64 0:5.7.29-1.el7
mysql-community-common.x86_64 0:5.7.29-1.el7
作為依賴被升級:
postfix.x86_64 2:2.10.1-7.el7
替代:
mariadb-libs.x86_64 1:5.5.56-2.el7
完畢!
數據庫配置
- 啟動MySQL:
systemctl start mysqld.service
- 查看MySQL狀態:
systemctl status mysqld.service
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 日 2020-03-29 01:28:50 CST; 16s ago
- 查找數據庫root用戶的 臨時密碼:
grep "password" /var/log/mysqld.log
2020-03-28T17:28:47.341327Z 1 [Note] A temporary password is generated for root@localhost: :8#I;as5F/yw
- 使用臨時密碼進入數據庫:
mysql -uroot -p
- 如果不修改密碼,會有如下報錯
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
- 修改密碼,如果密碼太簡單,會有如下報錯
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
- 調整密碼后:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Limm123!!';
Query OK, 0 rows affected (0.00 sec)
- 配置訪問權限
mysql> update mysql.user set host='%' where host='localhost';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
- 刷新權限(重要 !!!)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
- Done !!!
MySQL 操作命令
- 啟動:
systemctl start mysqld.service
- 重啟:
systemctl restart mysqld.service
- 停止:
systemctl stop mysqld.service
- 狀態:
systemctl status mysqld.service
- 設置MySQL開機啟動:
systemctl enable mysqld.service
- 停止MySQL開機啟動:
systemctl disable mysqld.service
常見問題
-
MySQL開啟外網訪問權限后還是無法訪問
如果是阿里雲服務器,找到對應實例的安全組 > 配置規則 > 添加安全組規則:如下圖
-
No more mirrors to try.
安裝過程如果出現如下報錯,重新執行yum就好
mysql-community-common-5.7.29- FAILED
http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-common-5.7.29-1.el7.x86_64.rpm:
[Errno 14] curl#6 - "Could not resolve host: repo.mysql.com; Unknown error"
正在嘗試其它鏡像。
Error downloading packages:
mysql-community-common-5.7.29-1.el7.x86_64: [Errno 256] No more mirrors to try.
- 問題:MySQL server has gone away
在執行大文件的時候可能會報如上錯誤, 是因為MySQL限制了server接受的數據包的大小
查看當前的大小配置:
show VARIABLES like '%max_allowed_packet%';
- 第一種方式:
- 修改my.cnf(查找文件:
mysql --help | grep my.cnf
) - 添加:
max_allowed_packet = 100M
- 修改my.cnf(查找文件:
- 第二種方式(臨時解決方案, 數據庫重啟之后會失效):
- 首先命令行進入MySQL數據庫
- 執行:
set global max_allowed_packet=100*1024*1024;
- 第一種方式: