Centos7服務器中安裝MySQL(選擇一個你想要的版本)

開始,我默認安裝了MySQL8,可是在測試的時候發現經過Hibernate鏈接以前的MySQL5.7的代碼運行在鏈接新版本的庫的時候發生異常,出於時間緣由沒有深度排查mysql

可是我嚴重懷疑是版本匹配問題,爲了可以快速使用,我選擇回退到以前的5.7sql

整個經歷:vim

安裝默認的MySQL8

添加MySQL Yum存儲庫安全

https://dev.mysql.com/downloads/repo/yum/ 服務器

進入這個網站下載默認給的版本8文件測試

上傳到服務器,固然也能夠複製URL,使用wget進行下載網站

 

安裝下載的發行包url

rpm -Uvh mysql80-community-release-el7-1.noarch.rpm

 

而後進行安裝spa

yum install mysql-community-server

 

根據提示輸入 y  並等待下載與安裝插件

安裝完成

啓動服務以及查看服務是否啓動成功

systemctl start mysqld.service

 

systemctl status mysqld.service

出現active(running)表示服務啓動成功

以後能夠在設置服務開機啓動(不過基本都是默認開機啓動的)

systemctl enable mysqld

systemctl daemon-reload

 


 

如何徹底拆卸MySQL8

rpm -qa |grep -i mysql

 

查看已經安裝的MySQL(我這裏已是安裝好5.7版本的狀況了)

基本會顯示五個

 

使用命令進行拆卸

yum remove mysql-community mysql-community-server mysql-community-libs mysql-community-common mysql80-community-release

 拆卸完成後再使用

rpm -qa |grep -i mysql

 

進行檢查,此時應該沒有任何輸出

再查看下拆卸殘留的配置等

find / -name mysql

 

 

所有使用刪除命令刪除這些文件,若是不刪除當安裝其餘版本的時候,會存在配置不匹配等問題沒法啓動服務

rm -rf 文件名

 沒法啓動的示例

 

至此,MySQL就徹底拆卸完成了


 

安裝5.7的版本(你須要的版本)

首先使用下面的命令查看全部可用版本(下圖中顯示的是我已經禁用了8並開啓了5.7的狀況)

yum repolist all | grep mysql

 

如何禁用8並開啓其餘版本:

官網上給出能夠執行命令

yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community

 

可是我在執行時報語法錯誤

還有另一種方法:直接修改配置文件

vim /etc/yum.repos.d/mysql-community.repo 

 

# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-tools-preview]
name=MySQL Tools Preview
baseurl=http://repo.mysql.com/yum/mysql-tools-preview/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-cluster-7.5-community]
name=MySQL Cluster 7.5 Community
baseurl=http://repo.mysql.com/yum/mysql-cluster-7.5-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql-cluster-7.6-community]
name=MySQL Cluster 7.6 Community
baseurl=http://repo.mysql.com/yum/mysql-cluster-7.6-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

 

 其中的

enabled=0表是禁用,=1表示開啓

修改後保存並退出,再查看下被開啓的版本

yum repolist enabled | grep mysql

 

 

如今可使用安裝MySQL的命令進行安裝了......

安裝完成,一樣的命令啓動服務並查看狀態

至此MySQL5.7安裝成功


使用MySQL

新安裝的MySQL爲了安全問題,它給了臨時密碼在  /var/log/mysqld.log  中,如今來查看下臨時密碼

grep 'temporary password' /var/log/mysqld.log

 

如今來登錄

mysql -uroot -p

前兩個密碼是本次不可用的,由於以前個人安裝啓動失敗的時候信息寫入日誌,我從新安裝的時候沒有清空日誌致使過濾獲得的會有以前密碼信息

最後一個終於成功登錄了

修改密碼

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密碼';

密碼默認要求

MySQL的validate_password插件默認安裝。 這將要求密碼包含至少一個大寫字母,一個小寫字母,一個數字和一個特殊字符,而且密碼總長度至少爲8個字符。

能夠經過修改validate_password_policy來設定密碼的複雜度要求(百度吧),我就設置了一個知足強度要求的密碼了

如今查看下默認的庫

show databases;

最後一步,受權其餘主機能夠遠程登錄

先查看下權限

如今是隻有本機能夠登錄

我是經過修改庫表的信息來受權的

update user set host = '%' where user = 'root';

 

 

%表明的就是全部主機

以後須要刷新一下

 

FLUSH PRIVILEGES;

 

 

 

還有經過命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

這裏我沒有嘗試,在版本8的時候是不可行的,不過在5.7有可能還能使用

嘗試遠程登錄下,鏈接成功並且新建了一個測試的庫new_test

大功告成......

相關文章
相關標籤/搜索