MYSQL8在CentOS8環境的安裝方法(DNF/YUM)
一、必要的說明和注意事項:
0、全程使用”root“賬戶,安裝數據庫。
1、mysql存放數據文件的文件夾,必須是mysql用戶所有,且mysql用戶擁有讀寫執行的權限。使用dnf安裝的mysql數據庫,”數據庫文件“默認存放在這個路徑下:" /var/lib/mysql " ,因此必須手動設置”mysql文件夾“的所有者和屬組以及用戶mysql的讀寫權限。
2、my.cnf位置:/etc/my.cnf,編輯my.cnf文件:vim /etc/my.cnf
# my.cnf文件內容如下所示(井號所在的行是注釋,這部分內容不用寫):
[mysqld]
#datadir是設置”數據庫文件“的存放路徑,需要自己手動建立文件夾
datadir = /var/lib/mysql/mysqldata
# mysqld服務的端口號設置
port = 3306
3、安裝環境:
3.1操作系統:CentOS-8.2.2004-x86_64-dvd1.iso
二、刪除已安裝的mysql數據庫文件:
1、查詢mysql的相關文件: rpm -qa | grep mysql
2、使用dnf/yum安裝的mysql數據庫的卸載: dnf remove mysql * (注意事項:mysql和*沒挨着;因為他們挨着卸不掉mysql文件和依賴包)
3、使用rpm安裝的mysql數據庫的卸載:rpm -e --nodeps XX(XX是安裝包名稱,二.1所示的所有安裝包都要卸載掉)
4、卸載時,必須進行這個操作,刪除下面列舉的文件夾:
4.1、/var/lib/mysql:存儲”數據庫文件“的默認文件夾
4.2、存儲“數據庫文件”的文件夾(mysqldata),即my.cnf的datadir配置路徑。默認情況下,“數據庫文件”存儲在/var/lib/mysql文件夾內,因此4.1就包含了存儲“數據庫文件”的文件夾。
4.3、/var/log/mysql:數據庫的日志文件夾
三、配置mysql數據庫的DNF/YUM源:
1、DNF/YUM源的配置的路徑:/etc/yum.repos.d/
2、下載文件名稱:mysql80-community-release-el8-1.noarch.rpm
wget https://repo.mysql.com//mysql80-community-release-el8-1.noarch.rpm
3、文件mysql80-community-release-el8-1.noarch.rpm的作用:
在“/etc/yum.repos.d/”路徑下,添加的mysql倉庫文件,為了使用dnf安裝mysql數據庫做准備。
4、如果你的dnf倉庫文件包含mysql安裝庫,你可以跳過步驟(三)的操作,直接進行步驟(四)的mysql數據庫的安裝。
四、mysql數據庫的安裝:
1、安裝數據庫:dnf install -y mysql-server
五、檢查mysql數據庫是否安裝成功:
1、mysqladmin --version;(mysqladmin命令位置:/usr/bin/mysqladmin);出現下面的信息,表示mysql數據庫安裝成功:mysqladmin Ver 8.0.21 for Linux on x86_64 (Source distribution)
六、配置mysql數據庫(my.cnf)
1、my.cnf位置:/etc/my.cnf
2、my.cnf配置:vim /etc/my.cnf
#my.cnf文件的配置
[mysqld]
datadir = /var/lib/mysql/mysqldata
port = 3306

七、第一次授權:數據庫的初始化
1、創建存儲“數據庫文件”的文件夾mysqldata:
1.1、切換目錄:cd /var/lib/mysql
1.2、創建“數據庫文件”存儲目錄:mkdir mysqldata
2、添加mysql用戶和組
2.1、添加mysql用戶: useradd mysql
2.2、添加mysql組: groupadd mysql
2.3、說明:在mysql安裝完畢以后,可以省略創建mysql的用戶和組的操作。在mysql數據庫安裝的過程中,會自動創建mysql用戶和mysql組。
3、(第一次授權操作:為了“數據庫初始化”,mysqld --initialize)設置存儲“數據庫文件”的文件夾的權限:
3.1、修改/var/lib/mysql文件夾的所有者和屬組: chown -R mysql.mysql /var/lib/mysql
3.2、修改/var/lib/mysql/文件夾的權限:chmod -R 755 /var/lib/mysql
4、數據庫的初始化:mysqld --initialize
5、查看初始化密碼:cat /var/log/mysql/mysqld.log
6、數據庫的初始化密碼,用於root用戶第一次登錄數據庫。“初始化密碼”保存在mysqld.log文件(/var/log/mysql/mysqld.log);冒號后面的內容就是初始化密碼。
2020-11-22T17:14:28.725955Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: =-&8,.*0pfPh
7、(第一次授權操作的用途)說明:這里容易初始化失敗,初始化失敗原因是存儲“數據庫文件”的文件夾中有文件存在,即"/var/lib/mysql/mysqldata"文件夾內有文件存在,刪除“/var/lib/mysql/mysqldata”中的文件即可(cd /var/lib/mysql/mysqldata; rm -rf *);然后重新進行“初始化”
八、第二次授權:啟動mysqld服務
1、准備啟動mysqld服務(第二次授權):在mysqld服務啟動的過程中,mysqld需要在存儲“數據庫文件”的文件夾下面再次創建文件夾且進行讀寫操作,因此需要再次對“/var/lib/mysq/”文件夾進行權限設置。這里不進行第二次授權操作,啟動mysqld服務會失敗。
1.1、修改/var/lib/mysql文件夾的所有者和屬組: chown -R mysql.mysql /var/lib/mysql
1.2、修改/var/lib/mysql文件夾的權限:chmod -R 755 /var/lib/mysql
2、啟動mysql服務:systemctl start mysqld
九、設置mysqld開機自啟動:
1、設置mysql開機啟動:systemctl enable mysqld
2、mysqld的常用命令:
2.1、啟動mysqld服務:systemctl start mysqld
2.2、關閉mysqld服務:systemctl stop mysqld
2.3、重啟mysqld服務:systemctl restart mysqld
2.4、查看mysqld服務:systemctl status mysqld
2.5、設置開機自啟動mysqld服務:systemctl enable mysqld
2.6、關閉開機自啟動mysqld服務:systemctl disable mysqld
十、第一次登陸數據庫:
1、查看數據庫的初始化密碼(七.6),數據庫的初始化密碼為:=-&8,.*0pfPh
2、登陸服務器:mysql -uroot -p ;回車;輸入數據庫的初始化密碼:
十一、在登錄數據庫的條件下,修改root用戶的登陸密碼:
1、mysql > alter user root@localhost identified by "1234xx" ;
十二、特別的操作:
1、創建一個文件夾:/var/mysql/lib/mysqldata(mysqldata文件夾用於存儲“數據庫文件”);
2、建立一個用戶和組:建立的用戶為mysql;建立的組為mysql。mysql用戶和組,用作給/var/lib/mysql文件夾和存儲“數據庫文件”的文件夾授權。
3、兩次授權操作。
3.1、(七)第一次對/var/lib/mysql和/var/lib/mysql/mysqldata文件夾進行授權操作,為了數據庫的初始化(mysqld --initialize)(初始化過程中,mysqld需要對”/var/lib/mysql/mysqldata“文件夾進行讀寫操作)
3.2、(八)第二次對/var/lib/mysql和/var/lib/mysql/mysqldata文件夾進行授權操作,為了啟動mysqld服務(systemctl start mysqld)(啟動mysqld服務的過程中,mysqld需要對”/var/lib/mysql/mysqldata“的子文件夾進行讀寫操作)
十三、安裝完畢。恭喜你開始了mysql數據庫的學習,雖然會遇到很多困難,請保持不斷奮斗的精神。祝你能成為mysql數據庫的大神。
