CentOS7 安裝 MySQL


1、首先檢查 MySQL 是否已安裝

yum list installed | grep mysql
如果有的話 就全部卸載
yum -y remove + 數據庫名稱

2、MySQL 依賴 libaio,所以先要安裝 libaio

yum search libaio # 檢索相關信息
yum install libaio # 安裝依賴包

3、下載 MySQL Yum Repository

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

注意:如果提示-bash: wget: 未找到命令,請先執行 yum install wget 安裝 wget

4、添加 MySQL Yum Repository

添加 MySQL Yum Repository 到你的系統 repository 列表中,執行
 
yum localinstall mysql-community-release-el7-5.noarch.rpm

5、驗證下是否添加成功

yum repolist enabled | grep "mysql.*-community.*"

6、選擇要啟用 MySQL 版本

查看 MySQL 版本,執行

yum repolist all | grep mysql

可以看到 5.5, 5.7 版本是默認禁用的,因為現在最新的穩定版是 5.6

yum repolist enabled | grep mysql

7、通過 Yum 來安裝 MySQL

執行

yum install mysql-community-server 

Yum 會自動處理 MySQL 與其他組件的依賴關系

遇到上述提示,輸入 y 繼續,執行完成會提示“完畢!”。此時MySQL 安裝完成,它包含了 mysql-community-server、mysql-community-client、mysql-community-common、mysql-community-libs 四個包。

執行

rpm -qi mysql-community-server.x86_64 0:5.6.24-3.el7

執行

whereis mysql

可以看到 MySQL 的安裝目錄是 /usr/bin/

 

8、啟動和關閉 MySQL Server

 (1)啟動 MySQL Server

systemctl start mysqld

(2)查看 MySQL Server 狀態

systemctl status mysqld

(3)關閉 MySQL Server

systemctl stop mysqld

(4)測試是否安裝成功

mysql

可以進入 mysql 命令行界面

9、防火牆設置

遠程訪問 MySQL, 需開放默認端口號 3306.

執行

firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --permanent --zone=public --add-port=3306/udp

這樣就開放了相應的端口。

執行

firewall-cmd --reload 

10、MySQL 安全設置

服務器啟動后,可以執行

mysql_secure_installation;

此時輸入 root 原始密碼(初始化安裝的話為空),接下來,為了安全,MySQL 會提示你重置 root 密碼,移除其他用戶賬號,禁用 root 遠程登錄,移除 test 數據庫,重新加載 privilege 表格等,

你只需輸入 y 繼續執行即可。

至此,整個 MySQL 安裝完成。

下面可以看到都只能本機訪問mysql,如果要外部可以訪問mysql,那么host這里應該是顯示%,所以這里我們可以選擇重新創建一個用戶並授予最高的權限,語句如下:

grant all privileges on *.* to 'root'@'%' identified by 'lam7' with grant option;
 //這句話就是給root賬戶設置密碼為lam7且host為%,即外部任何主機均可訪問。*.*這個本意是數據庫名.表名,我們這里沒有寫任何表名也沒有寫數據庫名,就是意思所有的數據庫都可以用這個root賬戶訪問
flush privileges;//讓剛剛修改的權限生效

然后接下來就是重啟mysql服務,再次進入到mysql,用查詢語句查看user表,如下所示:

 

如果需要使用外部工具鏈接mysql

則需要關閉防火牆

systemctl stop firewalld

然后查看狀態

systemctl status firewalld

11、修改mysql指定用戶的密碼

(1)登陸mysql

[root@localhost ~]# mysql -u root

(2)切換到存儲用戶名和密碼的數據庫

mysql> use mysql;  

# 回車,會顯示以下內容 Reading table information
for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed

(3)修改密碼,適用password()函數進行加密,實際上就是執行sql語句來更新指定用戶的密碼

update user set password=password('新密碼') where user='要更新密碼的用戶名'
mysql> update user set password=password('root') where user='root';  回車
  -> ;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 5 Changed: 0 Warnings: 0

(4)刷新用戶權限列表

mysql> flush privileges;   回車
Query OK, 0 rows affected (0.00 sec)

(5)退出mysql登陸

mysql> quit
Bye

(6)重啟mysql服務

[root@localhost ~]# service mysqld restart(重啟mysql)

(7)重新登錄mysql

[root@localhost ~]# mysql -uroot -proot


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM