4.安裝MySQL
3.安裝MySQL
有關在Linux系統下安裝MySQL的介紹,檢視DataWhale的Alias與知乎的Liuuu寫的這兩篇文章就夠了。這裡只是針對安裝過程中遇見的問題進行補充。
注意:伺服器的作業系統為CentOs,準備安裝mysql80-community-release-el7-3.noarch.rpm。
在CentOS系統中預設是安裝了 MariaDB 的,但是我們需要的是MySQL,我們可以直接下載安裝MySQL, 安裝MySQL可以覆蓋MariaDB.
關於 MariaDB:
MariaDB 資料庫管理系統是 MySQL 的一個分支, 主要由開源社群在維護, 採用 GPL 授權許可. 開發這個分支的原因之一是:甲骨文公司收購了 MySQL 後, 有將 MySQL 閉源的潛在風險, 因此社群採用分支的方式來避開這個風險. MariaDB 的目的是完全相容 MySQL, 包括 API 和命令列, 使之能輕鬆成為 MySQL 的代替品. 但在兩個分支經過了幾年的各自迭代之後, 在一些方面二者出現了一些差異.
3.1 安裝步驟
首先,從MySQL官網上下載 MySQL的Yum Repository
。根據CentOS和MySQL的版本,選擇下載相對應的檔案。本文選擇紅色方框的檔案:
0. 選擇安裝資料夾
首先要選擇合適的資料夾下載,我一般第三方軟體,像是Java,MySQL都是放在/opt/SoftWare/裡面。
cd /opt/SoftWare/
1. 下載MySQL Yum包
Yum是一個基於rpm的軟體包管理器,它可以從指定的伺服器自動下載rpm包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
wget https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
2. 安裝MySQL源
用yum命令安裝下載好的 rpm 包:
yum -y install mysql80-community-release-el7-2.noarch.rpm
3. 安裝MySQL伺服器
yum -y install mysql-community-server
這一步由於要下載安裝檔案,可能會花一些時間。安裝完成後就會覆蓋掉之前的 mariadb。
3.2 資料庫設定
4. 啟動 MySQL
systemctl start mysqld.service
5. 檢查MySQL是否啟動成功
檢視MySQL執行狀態,Active後面的狀態代表啟功服務後為(running)active,停止後為inactive(dead)。
systemctl status mysqld.service
重新啟動 Mysql 和停止 Mysql 的命令如下:
service mysqld restart #重新啟動 Mysql
systemctl stop mysqld.service #停止 Mysql
6. 獲取臨時密碼
此時 MySQL 已經開始正常執行,不過要想進入MySQL還得先找出此時root使用者的密碼,通過如下命令可以在日誌檔案中找出密碼:
為了加強安全性,MySQL8.0為root使用者隨機生成了一個密碼,在error log中,關於error log的位置,如果安裝的是RPM包,則預設是/var/log/mysqld.log。只有啟動過一次MySQL才可以檢視臨時密碼。
使用命令:
grep 'temporary password' /var/log/mysqld.log
檢視初始的隨機密碼,因為我重置過一次資料庫,所以這裡有兩個隨機密碼,選擇時間最新的。
7. 修改密碼
登入 root 使用者
mysql -u root -p
然後輸入上述查到的初始密碼。
登入後還不能做任何查詢或建庫操作,因為MySQL預設必須修改初始的隨機密碼之後才能運算元據庫,否則會報錯。這裡假設修改密碼為"PolyU.1234",預設密碼策略要求密碼必須是大小寫祖母數字特殊字元的組合,至少8位。注意結尾要有分號,表示語句的結束。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'PolyU.1234';
8. 設定開機自啟動
設定開機自啟動,然後重新載入新的unit配置檔案:
systemctl enable mysqld
systemctl daemon-reload
9. 設定MySQL的字符集位UTF-8,令其支援中文
vim /etc/my.cnf
按字母i進入插入模式,新增[mysql],注意這裡是[mysql]而不是已經存在的]mysqld],再在下面新增:
dafault-character-set=utf8
修改完,按ESC進入命令模式,然後輸入:wq退出並儲存。
10. 設定遠端連線
首先,我們之前已經設定了root使用者的host為localhost,也就是’host’@‘localhost’,這裡更改為%,代表伺服器遠端連線。然後我們將遠端連線的許可權賦予root使用者,並重新整理所有使用者許可權。
UPDATE user SET host = "%" WHERE user='root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
注意:如果這裡按照DataWhale的文章上面操作,會報錯。因為root使用者已經存在,所以僅僅需要更改host的設定,而DataWhale的文章給的例子是在授權的同時新建’root’@’%'使用者,同時這種寫法也已經禁止了。所以以下兩種寫法都會報錯:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'PolyU.1234' WITH GRANT OPTION;
語法錯誤,因為這種寫法已經廢棄。
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'PolyU.1234';
設定出錯,使用者此時為‘root’@‘localhost’。
11.重啟MySQL
service mysqld restart #重新啟動 Mysql
12. 開放3306埠
登入阿里雲控制檯設定->雲伺服器ECS->網路與安全->安全組->配置規則,開放3306埠。
13. 遠端連線測試
14. 刪除Yum
因為安裝了Yum Repository,以後每次 yum 操作都會自動更新,如不需要更新,可以把這個 yum 解除安裝掉:
yum -y remove mysql80-community-release-el7-2.noarch
補充
-
在CentOS中,MySQL的主要配置所在的目錄:
- /etc/my.cnf MySQL的主配置檔案
- /var/lib/mysql MySQL資料庫的資料庫檔案存放位置
- /var/log MySQL資料庫的日誌輸出存放位置
-
設定表名為大小寫不敏感
systemctl stop mysqld.service
停止MySQL資料庫服務,修改vim/etc/my.cnf,在[mysqld]下面新增:
lower_case_table_names=1
這裡的引數0表示區分大小寫,1 表示不區分大小寫。同時,做好資料備份,然後使用下述命令刪除資料庫資料(刪除後, 資料庫將恢復到剛安裝的狀態):
rm -rf /var/lib/mysql
重啟資料庫,此時資料庫恢復到初始狀態:
service mysql start
重複安裝時的操作,查詢臨時密碼再,再進行修改:
grep 'temporary password' /var/log/mysqld.log
重新整理MySQL的系統許可權相關表:
FLUSH PRIVILEGES;
此時,MySQL的表名的大小寫不再敏感。
相關文章
- mysql安裝 (yum 安裝)MySql
- mysql 安裝MySql
- MySQL安裝MySql
- 安裝mysqlMySql
- solaris mysql 安裝 解除安裝MySql
- [mysql]ubuntu安裝mysqlMySqlUbuntu
- 連網安裝mysql與原始碼安裝mysqlMySql原始碼
- mysql非安裝包安裝教程MySql
- Linux安裝解除安裝MySQLLinuxMySql
- 【MySQL安裝】Linux下安裝MySQL(預編譯)MySqlLinux編譯
- MySQL 8.0.21下載安裝教程及Navicat for MySQL安裝MySql
- 安裝mysql和mysql workbenchMySql
- mysql安裝------RPM包安裝及解除安裝MySql
- MySQL 的安裝MySql
- docker 安裝 mysqlDockerMySql
- mysql window 安裝MySql
- mysql yum 安裝MySql
- MySQL安裝-未完MySql
- MySQL 8.0 安裝MySql
- MySQL安裝配置MySql
- macbook 安裝 mysqlMacMySql
- MYSQL免安裝MySql
- mac安裝mysqlMacMySql
- ubuntu 安裝mysqlUbuntuMySql
- Mac 安裝mysqlMacMySql
- MySQL Cluster安裝MySql
- CentOS安裝MySQLCentOSMySql
- 【MySQL】MHA安裝MySql
- Mysql 安裝 配置MySql
- ubantu安裝mysqlMySql
- yum安裝mysqlMySql
- mysql route安裝MySql
- mysql proxy安裝MySql
- mysql安裝-clusterMySql
- [Ubuntu]安裝MysqlUbuntuMySql
- mysql安裝記MySql
- mysql的安裝MySql
- MySQL安裝流程MySql