mysql各版本區(qū)別
1. MySQL Community Server 社區(qū)版本,開源免費(fèi),但不提供官方技術(shù)支持。
2. MySQL Enterprise Edition 企業(yè)版本,需付費(fèi),可以試用30天。
3. MySQL Cluster 集群版,開源免費(fèi)。可將幾個(gè)MySQL Server封裝成一個(gè)Server。
4. MySQL Cluster CGE 高級(jí)集群版,需付費(fèi)。
5. MySQL Workbench(GUITOOL)一款專為MySQL設(shè)計(jì)的ER/數(shù)據(jù)庫(kù)建模工具。它是著名的數(shù)據(jù)庫(kù)設(shè)計(jì)工具DBDesigner4的繼任者。MySQLWorkbench又分為兩個(gè)版本,分別是社區(qū)版(MySQL Workbench OSS)、商用版(MySQL WorkbenchSE)。
下載地址:https://dev.mysql.com/downloads/?官網(wǎng)? ?https://mirrors.163.com/mysql/Downloads/MySQL-8.0/?網(wǎng)易鏡像
我這里安裝選的是社區(qū)版,因?yàn)槭莄entos操作系統(tǒng),所以選Red Hat Enterprise Linux 8 / Oracle Linux 8 (x86, 64-bit), RPM Bundle這個(gè)版本

1、卸載centos系統(tǒng)自帶的mariadb數(shù)據(jù)庫(kù)
rpm -qa |grep mariadb |xargs yum remove -y
2、解壓安裝包
tar axvf mysql-8.0.19-1.el8.x86_64.rpm-bundle.tar
3、安裝數(shù)據(jù)庫(kù),必須安裝的四個(gè)文件,要按順序安裝,不然會(huì)出現(xiàn)找不到依賴包的錯(cuò)誤
rpm -ivh?mysql-community-common-8.0.19-1.el8.x86_64.rpm
rpm -ivh?mysql-community-libs-8.0.19-1.el8.x86_64.rpm
rpm -ivh?mysql-community-client-8.0.19-1.el8.x86_64.rpm
rpm -ivh?mysql-community-server-8.0.19-1.el8.x86_64.rpm
如果安裝一些安裝包提示以下錯(cuò)誤:
警告:mysql-community-devel-8.0.19-1.el8.x86_64.rpm: 頭V3 DSA/SHA1 Signature, 密鑰 ID 5072e1f5: NOKEY
錯(cuò)誤:依賴檢測(cè)失敗:
pkgconfig(openssl) 被 mysql-community-devel-8.0.19-1.el8.x86_64 需要
表明缺少依賴包,如果安裝主機(jī)能鏈接上公網(wǎng)可以直接用yum命令直接安裝對(duì)應(yīng)的依賴包,如:yum install libaio.so.1.如果是離線只能去下載對(duì)應(yīng)的安裝包拷貝回來(lái)進(jìn)行安裝。centos相關(guān)的依賴包可以去http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/地址中找。
4、初始化數(shù)據(jù)庫(kù)
mysqld --initialize
5、查看配置文件、賦權(quán)
cat /etc/my.cnf
這里面有一行是?datadir=/var/lib/mysql 表示數(shù)據(jù)文件存放地址,這個(gè)文件夾要給mysql用戶賦權(quán),不然是無(wú)法啟動(dòng)數(shù)據(jù)庫(kù)的。執(zhí)行chown mysql:mysql /var/lib/mysql -R命令進(jìn)行賦權(quán)。賦權(quán)必須在數(shù)據(jù)庫(kù)初始化后進(jìn)行(前提是你用非mysql用戶安裝mysql,而不是mysql用戶),不然啟動(dòng)數(shù)據(jù)庫(kù)會(huì)報(bào)錯(cuò)。
6、啟動(dòng)數(shù)據(jù)庫(kù)
啟動(dòng)MySql
systemctl start mysqld.service
停止MySql
systemctl stop mysqld.service
重啟MySql
systemctl restart mysqld.service
設(shè)置MySql開機(jī)自啟
systemctl enable mysqld
7、查看修改root用戶密碼
通過(guò) cat /var/log/mysqld.log | grep password 命令查看數(shù)據(jù)庫(kù)的密碼

通過(guò)mysqladmin -uroot -p123456 password 123命令修改初始密碼,-p后面的密碼是上面查看到數(shù)據(jù)庫(kù)的密碼,password后面接的密碼是最終要修改的密碼。如果初始密碼中有特殊字符,如<等字符,可以在密碼信息兩邊加上單引號(hào)。如:mysqladmin -uroot -p'123456<' password '123>'
8、登陸數(shù)據(jù)庫(kù)
mysql -u root -p
show databases;查看已有的數(shù)據(jù)庫(kù),use mysql切換數(shù)據(jù)庫(kù),show tables顯示數(shù)據(jù)庫(kù)里的所有表。
9、可能碰到的問(wèn)題
如果是在數(shù)據(jù)庫(kù)初始化之前執(zhí)行chown mysql:mysql /var/lib/mysql -R賦權(quán)語(yǔ)句(前提是在root用戶下安裝mysql數(shù)據(jù)庫(kù),如果是在mysql 用戶下安裝應(yīng)該不存在這個(gè)問(wèn)題)。然后再執(zhí)行數(shù)據(jù)庫(kù)初始化、數(shù)據(jù)啟動(dòng)命令會(huì)報(bào)以下錯(cuò)誤:

此時(shí)你根據(jù)提示的"systemctl status mysqld.service"和"journalctl -xe" 看詳細(xì)信息根本看不到有用信息,就是提示你啟動(dòng)失敗,具體詳細(xì)信息如下:


這時(shí)如果看一下/var/log/mysqld.log文件會(huì)發(fā)現(xiàn)有用信息。

ibdata1就是在執(zhí)行mysqld --initialize數(shù)據(jù)庫(kù)初始化命令在/var/lib/mysql目錄下生成的

這時(shí)你重新執(zhí)行一下chown mysql:mysql /var/lib/mysql -R命令,進(jìn)行賦權(quán),數(shù)據(jù)庫(kù)就可以啟動(dòng)起來(lái)了。
如果數(shù)據(jù)庫(kù)沒有啟動(dòng)起來(lái),執(zhí)行mysql -u root -p登陸數(shù)據(jù)庫(kù)會(huì)報(bào)以下錯(cuò)誤
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
就是沒有賦權(quán)導(dǎo)致的,執(zhí)行?chown mysql:mysql /var/lib/mysql -R命令進(jìn)行賦權(quán)
可以通過(guò)
ps aux | grep mysqld
systemctl status mysqld.service
service mysqld status
等命令查看數(shù)據(jù)庫(kù)的當(dāng)前狀態(tài)。
參考摘錄文檔:
https://blog.csdn.net/qq_32671287/article/details/60872098
https://blog.csdn.net/wangkai_123456/article/details/87603464
https://blog.csdn.net/weixin_45765009/article/details/103965046