Linux安全安裝Mysql
先來吐槽一下Linux,我擦,完全命令行使用起來真是蛋疼。很多人說Linux叼,確實,我這最低配的Linux服務器完全夠用,但是真心覺得配置起東西來沒有Windows方便,遇到了問題也是前期百怪,難道說好的人都是想體驗一下解決問題的快感?
好了,不BB了。
下載mysql
下載挺方便的,使用命令:
wget -c http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar
-c 表示支持斷點續傳,還有可以好多相關的參數,有需要再去查查
安裝
解壓上面的bundle.tar,使用:
tar -xvf MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar
-x 執行 -f必須的
解壓出來了會出現幾個Mysql的安裝包,當然server和client是必須的,我是一下將所有的安裝包安裝,使用命令:
yum install MySQL-*.rpm --nogpgcheck
--nogpgcheck 表示不用管簽名問題,如果沒有這個選項,我的經常報沒有Public Key
等待安裝....(輸入yes)
注意安裝過程中會有很多有用的日志。
修改密碼
我天真的以為Mysql的默認密碼是空,網上好多都是坑人的,哪裡密碼是空了?我試了好多次都不對,我反復安裝了很多次,發現安裝過程的日志,會產生一個隨機密碼,放在了/root/.mysql_secret裡面。好吧,把裡面密碼復制出來,登錄Mysql。
mysql -uroot -p
然後輸入隨機密碼。
第一次進去系統後,如果你使用相關數據庫,會提示你設置新密碼。
SET PASSWORD =PASSWORD(‘new password’);
部署項目
首先授予Mysql遠程登錄權限
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED
BY 'youpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;(別忘了刷新)
相關部署tomcat的war包就不說了,問題是我數據庫使用的是localhost,就一直提示密碼過期。我找到mysql數據庫中的user表:
select host,password_expired where user='root'
然後,發現確實有一部分密碼過期,更新密碼:
update user set password_expired='N'where user='root'
再接著,我就想見證奇跡了。可是,
還是提示密碼過期,我因為我還是使用的localhost。然後我一直企圖在網上尋找解決方案,一直都不符合。我把localhost換為我的外網Ip,是可以正常使用的。
最後,我在服務器上,使用
mysql -h 127.0.0.1 -uroot -p
登錄進mysql後,打算看看mysql數據表。可以卻提示要我設置密碼,我的密碼不是已經設置過了麼?我又重新設置了一下密碼,
SET PASSWORD =PASSWORD(‘new password’)。
竟然,真的沒問題了。What the mother fucker!
第一次搞Linux服務器配置,到此一個完整的項目搞定了。
插曲
我使用的華為雲的Linux服務器,之前密碼輸入錯誤後,就把我的ip給鎖定了,沒法登陸了。
1.設置ssh的新的端口號,默認是22
2.鎖定後,用其他ip登陸,將hosts.deny中鎖定的ip移除