2017年1月10日 星期二

MYSQL忘記密碼重設密碼


當忘記MYSQL 密碼或是將一個資料庫儲存實體移至在別處執行時
有可能會出現以下訊息:

ERROR 1045 (28000): Access denied for user 'root'@'127.0.0.1' (using password: YES)



如要重設密碼來解這問題,可以依以下方式操作:

1.先停掉mysql 服務,在console or command line 下執行

mysqld --skip-grant-tables
這個指令用以啟動mysql,但會跳過權限檢查。

網路上有人寫只要在my.ini 之中的
[mysqld] 下加上
skip-grant-tables

後重啟MYSQL 也可以做到

2.要另一個console 下連線mysql的指令

mysql -u root

應該就可以不進行權限驗證,連線登入成功

3.進行密碼的重設
use mysql

UPDATE user SET password=PASSWORD("123456") WHERE User = 'root' AND Host = 'localhost';

而在新版的MYSQL (EX: v5.7.x )權限架構已有些不同,所以要改用以下指令執行:

UPDATE mysql.user SET authentication_string = PASSWORD('123456'), password_expired = 'N'  WHERE User = 'root' AND Host = 'localhost';

4.執行後即完成密碼重置的動作,別忘了 mysql 要重啟服務,如果你不是改在參數檔,像我上述第一點請執行以下指令:

c:\mysql\bin\mysqladmin -u root shutdown

5.重啟後即可利用新密碼登入系統


2017年1月3日 星期二

Tomcat AJP connecting to backend failed 排除

最近在追查apache+tomcat 一天總有一二次的不明斷線,而等一陣子後就正常了,系統也不用重啟 在查了log發現以下ERROR LOG
  ajp_send_request::jk_ajp_common.c (1630): (ap) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=60) 

看起來是因這個問題產出的LOG,去查了一下,蠻多在JBOSS上會發一這問題,不管用mod_jk或是用mod_proxay_ajp 都會發生 所以依建議,調整connectionTimeout 看看是否能改善


<connector address="${jboss.bind.address}" connectiontimeout="60000000" emptysessionpath="true" enablelookups="false" maxthreads="1000" port="8009" protocol="AJP/1.3" redirectport="8443">
參考資料:
http://stackoverflow.com/questions/13061385/apache-mod-jk-module-fail-to-connect-jboss-after-running-some-time