細數本地連阿里雲上mysql8遇到的坑

2022-06-30 10:15:10 字數 1766 閱讀 2578

最近兩個月忙成狗,給了自己乙個冠冕堂皇的不記錄部落格的藉口,今天咬牙記錄一篇本地連阿里雲mysql遇到的各種坑;

昨天利用妹妹的學生身份買了臺廉價的阿里ecs,購買成功後的第一反應當然是把本地的mysql遷移到伺服器上以減輕我這個11年的老年機的負擔了,

話不多說,直接在伺服器上敲起來,wget,yum命令一敲mysql8順利安裝!

接下來就是修改密碼了,思路大概就是在my.cnf(一般在/etc下)新增skip-grant-tables免密登入,然後重啟mysql,然後再輸入mysql -u root -p命

令按兩次回車直接進mysql了;這裡我遇到了第乙個坑,腦殘的我把skip-grant-tables加到my.cnf的注釋裡了,然後怎麼也跳不過去,真是自作自受了;

上面的步驟都成功了以後,可以輸入select host, user, authentication_string, plugin from mysql.user;檢視mysq自帶的使用者表,其中host表示允許使用者登入的 ip,% 表示可以遠端;user和authentication_string分別表示使用者名稱和

密碼,plugin表示加密方式;我們可以將root的預設密碼滯空,update mysql.user set authentication_string='' where user='root'; 然後通過exit退出mysql命令列,接著去把剛開始在my.cnf加的skip-grant-tables給注釋掉,重啟mysql

接著用mysql -u root -p登入,遇到輸入密碼直接回車,因為剛已經把密碼滯空了;進入mysql命令列以後使用alter user 'root'@'localhost' identified by '新密碼';設定新密碼,需要注意的是設定的新密碼預設是有複雜度校驗的

如果不想校驗可以輸入set global validate_password.policy=0;執行成功就可以輸入簡單的密碼了

接下來就是重點了,也是讓我連個資料庫而浪費了一上午的元凶所在,以上標紅的字段一般就是坑之所在了;下面分三點依次解析:

1、要使遠端連線user表中root使用者對應的host的值應改為"%"

2、然後就是修改加密方式了,命令alter mysql.user 'root'@'localhost' identified with mysql_native_password by '密碼';然後重新整理許可權flush privileges;

坑了,好在糾結半天後終於發現原因了,不然真是冤死了;有兩個解決辦法,可以把alter中的localhost改為%或者直接將@'localhost'去掉,還可以將1/2兩步對調先改加密方式再改%就可以避免我這種苦逼的問題了;

3、最後設定密碼這塊是一樣的,如果你是最後將root使用者對應的host的值應改為"%"的應該就不會有什麼問題,而如果跟我一樣首先就設定成%了,那麼alter user 'root'@'localhost' identified by '新密碼';也會執行失敗,解決辦法和

2一樣;

資料庫這塊我們設定完後還要去阿里雲上配個安全組,將3306埠開發出來,管理控制台==>雲伺服器ecs==>例項,然後選中需要操作的例項點選管理==>點選本例項安全組==>點選配置規則,最後點選新增安全組規則;其中埠範圍:3306/3306;授權物件0.0.0.0/0就好;

下面總結一下本地連阿里雲ecs上mysql的一些步驟:

1、確定本地能ping通你自己ecs的公網ip

2、修改ecs上mysql對應使用者密碼的加密方式以及使其支援遠端連線

3、在ecs上開發3306埠

這樣基本上應該就能連線了,反正我是 踩了各種坑後終於圓滿了,現在填好希望以後不會再踩了!

在阿里雲上安裝docker和mysql

yum install docker cesystemctl start docker這裡使用網易雲的mysql映象 網易雲映象倉庫位址 name mysql 為容器名 p 12345 3306 開啟 12345 埠號 mysql root password 123456 123456 為資料庫密碼...

阿里雲ECS下安裝的MySQL無法遠端連線

在阿里雲ecs下,ubuntu系統上通過以下命令安裝的mysql資料庫,本地連線正常,但遠端死活連線不上.安裝mysql apt get install mysql server主要有以下幾點 使用者root預設受限為本地可訪問 localhost 遠端拒絕 出於安全考慮吧 但是這個我們可以修改的,...

阿里雲centos7 上mysql5 7 18安裝

阿里雲centos7 上mysql5.7.18安裝 2,解除安裝mariadb centos7預設安裝mariadb而不是mysql,而且yum伺服器上也移除了mysql相關的軟體包。因為mariadb和mysql可能會衝突,故先解除安裝mariadb rpm e nodeps mariadb li...