AWS國際帳號優惠 亞馬遜EC2安裝MySQL
準備工作:打造你的EC2環境
選擇合適的EC2執行個體
第一次登入AWS控制台時,看著一堆執行個體類型是不是頭大?別慌!選個t2.micro就對了!這是AWS的"試吃版",每月免費額度內白嫖,超適合練習。雖然性能平平,但跑MySQL夠用。記住:真要上生產環境再升級到t3.medium,先別貪心,穩紮穩打最重要。選擇AMI時,強烈建議用Amazon Linux 2,相容性好又穩定,省去一堆驅動問題,就像選超市裡的基礎款牛奶,雖然普通但絕對不會出錯。
設定安全組規則
安全組就是你的EC2大門的守門員!創建新安全組時,先加一條SSH規則(端口22),源IP填你家或公司的固定IP,這樣只有你能SSH進去。再加一條MySQL規則(端口3306),別填0.0.0.0/0!想像一下,如果隨便誰都能敲你資料庫的門,黑客可能會直接搬走你的數據。建議只開放給特定IP,比如192.168.1.100。如果只是測試,可以先開給0.0.0.0/0,但測試完馬上關掉,安全無小事,別等數據被偷了才哭。
安裝MySQL的實戰步驟
連接EC2實例
打開終端機(Mac用Terminal,Windows用PowerShell),輸入:
ssh -i "你的.pem文件" ec2-user@你的EC2公網IP
如果提示"Permission denied",立刻執行chmod 400 你的.pem。這一步超關鍵!就像拿錯鑰匙開門,門衛直接把你攔在外面。連上後看到"ec2-user@ip-xxx"提示符,恭喜!你已經成功登入,這時可以開始安裝MySQL啦!
安裝MySQL服務
先更新系統:輸入sudo yum update -y。這步像給電腦做體檢,確保所有零件都最新。接著安裝MySQL:sudo amazon-linux-extras install mysql8.0。如果提示沒有extras,用sudo yum install -y mysql-community-server。安裝時系統會問"是否繼續",按y回車就好。安裝完後啟動服務:sudo systemctl start mysqld,再設置開機自啟:sudo systemctl enable mysqld。最後檢查狀態:systemctl status mysqld,看到"active (running)"和綠色"\u2713",就表示MySQL已就緒!
初始化與基礎設定
執行sudo mysql_secure_installation,這條指令會像老師一樣一步步教你設安全規則。先按回車跳過當前root密碼(新安裝沒設置),然後設定新密碼,別用"123456"或"password",建議用"Abc@1234"之類的強密碼。接著系統會問:移除匿名用戶?選Y;禁止root遠程登錄?選Y;刪除測試數據庫?選Y;重載權限表?選Y。完成後輸入mysql -u root -p,用剛設的密碼登入,看到mysql>提示符,恭喜!MySQL已成功安裝,你的數據庫小車已經啟動了!
進階配置:安全與效能
調整MySQL配置檔
編輯配置文件:sudo vi /etc/my.cnf。找到[mysqld]段落,在下面新增:
innodb_buffer_pool_size = 512M
max_connections = 100
這個設定要看你EC2的內存大小。t2.micro只有1GB內存,innodb_buffer_pool_size設512M就夠,別超過一半,不然會崩潰!如果你的實例是4GB,可以設2G。修改完後保存,重啟MySQL:sudo systemctl restart mysqld。這就像給資料庫裝了個大肚子,一次能處理更多數據,查詢速度立刻提升!
設置遠程訪問權限
預設MySQL只允許本機連接,要遠程訪問得改設定。先在/etc/my.cnf中找到bind-address = 127.0.0.1,改成bind-address = 0.0.0.0。保存後重啟MySQL。接著進入MySQL控制台:mysql -u root -p,輸入密碼後執行:
CREATE USER 'admin'@'%' IDENTIFIED BY '你的強密碼';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';
FLUSH PRIVILEGES;
注意:%代表任何IP都能連,但強烈建議指定特定IP,例如'admin'@'192.168.1.100'。這樣只有你的電腦能連,安全又放心。如果需要多個IP連,可以多創建幾條用戶記錄,比如'admin'@'10.0.0.1'和'admin'@'10.0.0.2'。
常見問題與解決方案
連接被拒怎麼辦?
當你用Navicat或命令行連接MySQL時,出現"Connection refused",別慌!先檢查三個地方:
1. 安全組是否開放3306端口?登錄AWS控制台,檢查安全組入站規則,確認3306端口開放到你的IP。
2. 防火牆設置:執行sudo firewall-cmd --list-all,如果沒看到3306,執行sudo firewall-cmd --add-port=3306/tcp --permanent後重啟防火牆:sudo firewall-cmd --reload。
3. MySQL的bind-address是否設為0.0.0.0?確認/etc/my.cnf中設置正確。
如果都沒問題,嘗試用telnet 你的IP 3306測試端口是否通。不通的話,可能雲服務提供商的網絡ACL阻擋,檢查AWS VPC設置。這就像找錯了門牌號,一步步檢查總能找到問題!
AWS國際帳號優惠 忘記root密碼如何處理?
別急,按照以下步驟重置密碼:
1. 停止MySQL服務:sudo systemctl stop mysqld
2. 用跳過權限驗證模式啟動:sudo mysqld_safe --skip-grant-tables &
3. 新開一個終端,登錄MySQL:mysql -u root(這時不需要密碼)
4. 在MySQL控制台輸入:
USE mysql;
UPDATE user SET authentication_string=PASSWORD('新密碼') WHERE User='root';
FLUSH PRIVILEGES;
EXIT;
5. 關掉跳過權限的服務(Ctrl+C),然後正常啟動MySQL:sudo systemctl start mysqld
現在就能用新密碼登錄啦!記住下次把密碼存到密碼管理器,別再寫在便利貼上貼屏幕上了,不然黑客可能比你先看到!
結語:你的資料庫正式啟航
恭喜你!你已經成功在AWS EC2上搭建了MySQL。現在可以開始建立數據庫、表,或者連接你的Web應用。但記住:數據安全永遠是第一位!定期備份數據庫,用mysqldump -u root -p 你的數據庫名 > backup.sql,或者用AWS EBS快照功能。如果覺得自己管理太麻煩,AWS RDS是個省心的選擇,但自己裝的MySQL更有成就感——就像自己種的菜,雖然累,但吃得安心。下次遇到問題,再回來翻這篇指南,你已經是資料庫小能手啦!

