1.安裝前清理node
1.1. 清理原有數據庫
1.1.1. 清理軟件包
使用 「rpm -pa | grep mysql」 查看原有的軟件包和依賴包,將結果使用 「yum remove 包名」逐一刪除。
1.1.2. 清理配置
使用「find / -name mysql」查看全部mysql配置,將結果使用「rm -rf 文件名」逐一刪除。
1.2. 刪除 mariadb 文件
因爲MySQL在CentOS7中收費了,因此已經不支持MySQL了,取而代之在CentOS7內部集成了mariadb,而安裝MySQL的話會和MariaDB的文件衝突,因此須要先卸載掉MariaDB.
查看:rpm -qa | grep mariadb
可能結果:mariadb-libs-5.5.56-2.el7.x86_64
刪除:rpm -e mariadb-libs-5.5.56-2.el7.x86_64
若是出錯,則使用強制刪除:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
2. 下載安裝包
centos的yum 源中默認是沒有mysql的,因此咱們須要先去官網下載mysql的repo源並安裝;
2.1. 訪問官網,查看最新安裝包
https://dev.mysql.com/downloads/repo/yum/
2.2. 選擇版本,點擊「download」mysql
2.3. 登陸
若是是未登陸狀態,會要求登陸。此時會跳轉到 oracle 單點登陸頁面,登陸本身的 oracle 帳號便可(沒有帳號就註冊一個,如今下載 oracle 的產品都須要登陸,好比 jdk)
2.4. 登陸後回到上述頁面,右鍵選擇的版本對應的download按鈕,點擊「複製連接地址菜單項」
2.5. 登陸Linux服務器,進入到某個目錄(如 /usr/local/src),使用 wget 下載源安裝包
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpmsql
3. 安裝mysql源
3.1. 安裝 yum repo 文件
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
執行結果會在/etc/yum.repos.d/目錄下生成兩個repo文件mysql-community.repo mysql-community-source.repo數據庫
3.2. 更新yum緩存
yum clean allcentos
yum makecache緩存
4. 安裝mysql服務器
4.1. 選擇版本
當咱們在使用yum安裝mysql時,yum默認會從yum倉庫中安裝mysql最新的GA版本;如何選擇本身的版本;
4.1.1. 查看mysql yum倉庫中mysql版本,使用以下命令
yum repolist all | grep mysql安全
能夠看到mysql8是可用的,其它是禁用的,我正好是須要安裝mysql8,因此不用管了。若是想要安裝其它版本能夠修改服務器
4.1.2. 修改禁用啓用規則
yum-config-manager --enable mysql57-community
若是命令無效,能夠直接編輯 mysql repooracle
4.2. 安裝mysql服務
yum install mysql-community-server測試
中間有須要確認的步驟就一直 「y」 就好了。
5. 啓動服務,測試鏈接
啓動:systemctl start mysqld.service
中止:systemctl stop mysqld.service
重啓:systemctl restart mysqld.service
查看服務狀態:systemctl status mysqld.service
6. 修改初始密碼
6.1. 查看初始密碼
mysql在安裝後會建立一個root@locahost帳戶,而且把初始的密碼放到了/var/log/mysqld.log文件中;
查看:cat /var/log/mysqld.log
初始登陸密碼只能用於登陸mysql,不能進行其它操做。會強制要求用戶修改密碼。
6.2. 修改初始密碼
使用初始密碼登陸:mysql -uroot -p
若是不修改,則任何操做時會提示以下錯誤:
You must reset your password using ALTER USER statement before executing this statement.
修改方式是登陸後使用如下語句
ALTER USER USER() IDENTIFIED BY '新密碼'
值得注意的是,新密碼必須符合安全策略(就是足夠複雜,mysql8的默認安全策略級別是 中等,像123456這些確定是過不了的),不然會提示以下錯誤:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
修改爲功以後咱們能夠看一下mysql服務器的密碼安全策略等級:SHOW VARIABLES LIKE 'validate_password%',結果以下:
7. 容許遠程登陸
mysql8安裝完成以後,root用戶只容許本地登陸遠程登陸會報錯:
ERROR 1130 (HY000): Host '120.79.172.133' is not allowed to connect to this MySQL server
放開遠程權限的方法是登陸以後,執行
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
8. 修改密碼加密方式
通過 7. 以後,發現遠程仍是不能登陸,可是報錯有所不一樣了:
Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
這是由於mysql7以後,默認的密碼加密方式更改了,可是你使用的客戶端沒有升級,不支持此種加密方式,解決方法是更改服務器加密方式爲傳統加密方式或者升級客戶端。若是是新項目建議使用第二種,畢竟新的確定更好。若是是存量項目的數據庫遷移或者升級,考慮到兼容問題和穩定性,建議使用第一種。
修改加密方式爲本地登陸以後執行:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密碼';
至此,mysql服務已經可使用了。
9. 修改默認服務端口
mysql默認端口號是 3306。通常線上數據庫,出於安全考慮,都會修改默認端口號。
9.1. 編輯「/etc/my.cnf」文件
vi /etc/my.cnf
9.2. 添加行
port=新端口;
9.3. 重啓mysql服務
systemctl restart mysqld.service
完!