CentOS7安裝MySQL5.7.11

1. 解壓下載的壓縮包,會獲得以下一些rpm包,也能夠直接下載下面的四個rpm包,由於其餘的rpm包不是必須的html

 

mysql-community-common-5.7.11-1.el7.i686.rpmnode

 

mysql-community-libs-5.7.11-1.el7.i686.rpmmysql

 

mysql-community-client-5.7.11-1.el7.i686.rpmlinux

 

mysql-community-server-5.7.11-1.el7.i686.rpm

2.卸載MariaDBsql

若是直接點擊rpm包安裝會獲得錯誤提示。由於CentOS的默認數據庫已經再也不是MySQL了,而是MariaDB,爲何呢?數據庫

MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,採用GPL受權許可。開發這個分支的緣由之一是:甲骨文公司收購了 MySQL後,有將MySQL閉源的潛在風險,所以社區採用分支的方式來避開這個風險。MariaDB的目的是徹底兼容MySQL,包括API和命令行, 使之能輕鬆成爲MySQL的代替品。centos

查看當前系統安裝的mariadb包tcp

[root@localhost 下載]# rpm -qa | grep mariadb

卸載全部的mariadb包ui

[root@localhost 下載]# rpm -e mariadb-libs

會報依賴檢測失敗的錯誤spa

執行強制卸載

[root@localhost 桌面]# rpm -e --nodeps mariadb-libs

3. 安裝MySQL

[root@localhost 桌面]# rpm -ivh mysql-community-common-5.7.11-1.el7.i686.rpm
[root@localhost 桌面]# rpm -ivh mysql-community-libs-5.7.11-1.el7.i686.rpm
[root@localhost 桌面]# rpm -ivh mysql-community-client-5.7.11-1.el7.i686.rpm
[root@localhost 桌面]# rpm -ivh mysql-community-server-5.7.11-1.el7.i686.rpm

提示:安裝時可能會遇到依賴檢測失敗的狀況以下

安裝MySQL依賴便可

[root@localhost 桌面]# yum install libaio.so.1

4. 啓動MySQL

[root@localhost 桌面]# systemctl start mysqld.service

若是報錯(反正我沒報錯)ERROR!The server quit without updating PID file

是由於:selinux,若是是centos系統,默認會開啓selinux。解決方法是關閉它,打開/etc/selinux/config,把SELINUX=enforcing改成SELINUX=disabled後存盤退出重啓機器。

重啓MySQL

[root@localhost 桌面]# systemctl restart mysqld.service

查看MySQL狀態

[root@localhost 桌面]# systemctl status mysqld.service

 

5.使用root用戶登錄

5.1 MySQL 5.7 在初始安裝後(CentOS7 操做系統)會生成隨機初始密碼,並在 /var/log/mysqld.log 中有記錄,能夠經過 more 命令查看,找 password 關鍵字

而後使用 `mysql -u root -p` 命令登陸,並使用 `set password=password('你的密碼');` 修改密碼。

> 若是不修改密碼,不能進行其餘操做

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

 

5.2 也能夠跳過密碼檢測進入MySQL後再修改root的密碼

網上看到用mysqld_safe命令,可是我安裝的MySQL5.7.11並無找到這個命令,到官網查到的下面結果

也就是說mysqld_safe從MySQL5.7.6已經沒有安裝了,那就不能使用mysqld_safe了。

解決的辦法是:經過編輯/etc/my.cnf文件在[mysqld]下面加上skip-grant-tables=1,而後重啓MySQL服務。

以root身份登陸MySQL

[root@localhost 桌面]# mysql -u root

進入mysql數據庫

mysql> use mysql;

修改root的密碼爲root

mysql> update user set authentication_string = password('root'),password_expired='N',password_last_changed=now() where user='root';

退出MySQL,再次編輯/etc/my.cnf文件,把剛纔添加的skip-grant-tables=1刪掉,而後再重啓MySQL服務便可。

6. 開放3306端口

若是想要其餘主機鏈接你的Mysql就須要開放3306端口。

[root@localhost 桌面]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@localhost 桌面]# firewall-cmd --reload
相關文章
相關標籤/搜索