阿里雲centos7安裝mysql,廢話不多說直接擼代碼:
一、安裝mysql
1、下載RPM
wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
2、安裝RPM包
rpm -ivh mysql80-community-release-el7-1.noarch.rpm
3、修改 MySQL 的repo源,使MySQL8.0可用
使用 vim 編輯
vi /etc/yum.repos.d/mysql-community.repo
找到 [mysql80-community] 確保 enabled=1
修改,保存並退出。
4、安裝 mysql-server
yum install mysql-server
開始下載並安裝 MySQL,中間會有幾次詢問你,一路 yes 即可,等待直到完成。
5、修改 MySQL 的訪問權限
chown -R root:root /var/lib/mysql
6、重啓 MySQL 服務
service mysqld restart
至此 MySQL8.0 的安裝就算完成了
二、重置mysql8.0密碼
1、查看自動生成的密碼
安裝完成後 MySQL會給我們自動生成一個隨機密碼
查看命令如下:
grep 'temporary password' /var/log/mysqld.log
因爲自動的生成的密碼無法直接使用,也不便於我們記憶,所以我們要修改密碼。
2、配置文件 MySQL 免密碼登錄
編輯 MySQL 的配置文件
vim /etc/my.cnf
在 pid 開頭的下面一行加入下面這句
skip-grant-tables
保存並退出。
3、重啓 MySQL 服務
service mysqld restart
4、免密碼登錄到 MySQL 上
mysql -u root -p
- 提示輸入密碼時直接敲回車。
5、選擇 mysql 數據庫
use mysql;
因爲 mysql 數據庫中存儲了一張 MySQL 用戶的 user 表
6、在 mysql 數據庫的 user 表中查看當前 root 用戶的相關信息
select host, user, authentication_string, plugin from user;
執行完上面的命令後會顯示一個表格
表格中有以下信息:
host: 允許用戶登錄的 ip ‘位置’ % 表示可以遠程;
user: 當前數據庫的用戶名;
authentication_string: 用戶密碼(在mysql 5.7.9以後廢棄了password字段和password()函數);
plugin: 密碼加密方式;
7、將默認的 root 密碼置空
use mysql;
update user set authentication_string='' where user='root';
8、退出 mysql命令行
quit
9、刪除 /etc/my.cnf 文件最後的 skip-grant-tables
vim /etc/my.cnf
刪除 skip-grant-tables 並保存退出。
10、重啓 MySQL 服務
service mysqld restart
11.重新登錄到 MySQL 上
mysql -u root -p
提示輸入密碼時直接敲回車,因爲我們剛纔已經將密碼置爲空了。
12、使用 ALTER 修改 root 用戶密碼
ALTER user 'root'@'localhost' IDENTIFIED BY 'Xpf123@';
其中 Xpf123@ 爲你設置的新密碼,注意這個密碼如果設置的比較簡單,例如 123456 等等,會設置不成功,它會提示你設置的密碼太簡單,最好設置成大寫字母、數字、符號的組合。
執行完之後會提示你 OK 的話,就代表修改成功了,至此重置密碼也就算是完了,你可以使用新設置的密碼去登錄試試。
三、遠程客戶端訪問
因爲 MySQL 安裝完成後只支持 localhost 訪問,我們必須設置一下纔可以遠程訪問
1、登錄MySQL
mysql -u root -p
輸入您的密碼
2、選擇 mysql 數據庫
use mysql;
因爲 mysql 數據庫中存儲了用戶信息的 user 表。
3、在 mysql 數據庫的 user 表中查看當前 root 用戶的相關信息
select host, user, authentication_string, plugin from user;
執行完上面的命令後會顯示一個表格
查看錶格中 root 用戶的 host,默認應該顯示的 localhost,只支持本地訪問,不允許遠程訪問。
4、授權 root 用戶的所有權限並設置遠程訪問
update host='%' where user='root';
5、刷新權限
所有操作後,應執行
flush privileges;
6、查看 root 用戶的 host
use mysql;
select host, user, authentication_string, plugin from user;
你會發現 root 用戶的 host 已經變成 %,說明我們的修改已經成功,可以遠程訪問了。
7、然後你測試還是不能通過,這是應爲阿里雲的安全防火牆給攔截了
到此就可以遠程訪問了