1. 程式人生 > 其它 >阿里雲mysql安裝配置和使用

阿里雲mysql安裝配置和使用

首先,確認是否有預裝的mysql

rpm -qa|grep -i mysql

如果有,刪除掉

rpm -e --nodeps 檔名

沒有的話直接進行下一步,複製以下三個命令,分別執行,過程中需要點幾次y(表示yes)

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm 
yum localinstall  mysql80-community-release-el7-3.noarch.rpm
yum install mysql-community-client mysql-community-server

因為是使用 rpm安裝的 ,無需配置,可直接使用,接下來開啟服務

systemctl start mysqld #啟動mysql服務
systemctl enable mysqld #設定開機啟動
systemctl status mysqld #檢查mysql狀態

在 這裡我遇到一個問題,這裡的active為exited(正常的話 應該是running)

我沒在意,但是當我想檢視mysql.log裡生成的臨時密碼時,發現找不到,這就有問題了呀,一番查詢,發現是自己刪除以前安裝的mysql時沒有刪除乾淨,解決方式:

rm -rf /var/lib/mysql
systemctl restart mysqld

先刪除/var/lib/mysql,再重啟,此時使用systemctl status mysqld,可以得到

好了,接下來繼續,獲取臨時密碼,登陸mysql

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

可以得到臨時密碼如下:

root@localhost:後面的就是生成的臨時密碼
使用命令

mysql -u root -p  密碼

進行登陸,然後修改密碼

alter user'root'@'localhost' identified by '新密碼'

密碼要求要大小寫數字和特殊字元,不符合格式的話會報錯

接下來配置遠端登陸的許可權

use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;#重新整理許可權

配置驅動改成密碼驅動

ALTER USER 'root'@'%' IDENTIFIED BY '新密碼' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密碼';
FLUSH PRIVILEGES;

到這裡,差不多已經配置好了,然後我打開了Navicat連線資料庫,又報錯了!
1045-Access denied for user 'root'@'localhost'解決方法
解決方式:
先授權給登陸的root使用者,flush privileges 使更改立即生效

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密碼';
FLUSH PRIVILEGES;

再次連線,終於連上了。