若是你還在尋尋覓覓CentOS上安裝MySQL的教程而不得,那看到這裏就不用轉走了。
說實在的,我今天搞了一天了。node
MySQL8.0.21 各版本下載地址:點這裏mysql
這個下拉框一拉,Fedora、Unbuntu什麼的都有,反正就是找不到centOS是吧,而後網上就是一堆人說centOS默認支持mariaDB,反正個人Centos是沒有。web
搞這個:
sql
能夠直接在Linux系統下下載。數據庫
先看看你的系統有沒有MariaDB:svg
rpm -qa | grep mariadb
有的話會給你一個版本的迴應,沒有的話就沒有了、spa
要是運氣好,真的有,那就卸掉唄:rpm -e 版本號 --nodepscode
建一個目錄,叫mysql,放哪裏你記得住就好。
而後把MySQL下載好的安裝包拖到你的mysql目錄下,能夠用代碼拖進去,也能夠去文件管理器裏面拖。server
解壓:tar -xvf mysql-8.0.21-1.el7.x86_64.rpm-bundle.tar
別人的圖,意思是相通的
xml
經過 rpm -ivh mysql-community-common-8.0.21-1.el7.x86_64.rpm --nodeps --force 命令安裝 common
經過 rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安裝 libs
經過 rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安裝 client
經過 rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm --nodeps --force 命令安裝 server
經過 rpm -qa | grep mysql 命令查看 mysql 的安裝包
經過如下命令,完成對 mysql 數據庫的初始化和相關配置
mysqld --initialize;
chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;
經過 cat /var/log/mysqld.log | grep password 命令查看數據庫的密碼
經過 mysql -uroot -p 敲回車鍵進入數據庫登錄界面
輸入剛剛查到的密碼,進行數據庫的登錄,複製粘貼就行,MySQL 的登錄密碼也是不顯示的
經過 ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘root’; 命令來修改密碼
這下密碼改爲了 root
經過 exit; 命令退出 MySQL,而後經過新密碼再次登錄
經過如下命令,進行遠程訪問的受權
添加遠程登陸用戶
默認只容許root賬戶在本地登陸,若是要在其它機器上鍊接mysql,必須修改root容許遠程鏈接,或者添加一個容許遠程鏈接的賬戶。
修改root用戶遠程訪問權限:
選擇 mysql 數據庫:use mysql;
在 mysql 數據庫的 user 表中查看當前 root 用戶的相關信息:
select host, user from user;
查看錶格中 root 用戶的 host,默認應該顯示的 localhost,只支持本地訪問,不容許遠程訪問。
受權 root 用戶的全部權限並設置遠程訪問
GRANT ALL ON *.* TO 'root'@'%';
若是報錯:ERROR 1410 (42000): You are not allowed to create a user with GRANT
update user set host='%' where user ='root';
而後使用下面命令使修改生效:
flush privileges;
若有須要再執行以前受權報錯的命令便可成功,最後一樣使用flush privileges;命令刷新。
sqlyog連接時出現2058異常
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
其中password爲本身修改的密碼。而後SQLyog中從新鏈接,則可鏈接成功,OK。
若是報錯:ERROR 1396 (HY000): Operation ALTER USER failed for ‘root’@'localhost’則使用下面命令:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';