Archive for the ‘ Server ’ Category
我愛大自然: 魯肉飯之大數據 - 這是一個圍繞著「大」的故事
以下我要寫的文章,其實不是我愛寫的文章類型,因為這種文章的邏輯不通,而且對科技界一點貢獻也沒有。再者我也不喜歡吃魯肉飯,這篇算是比較沒有營養的文章,大家可以當作笑話看看就好。不過我還是有些「大數據」的觀念想跟大家分享。
解決 Windows 10 自動開機的問題
查看系統的電源設定
1. 查詢最近一次電腦被喚醒的原因,於 cmd 命令提示字元執行:
powercfg /lastwake
喚醒記錄計數 - 1 喚醒記錄 [0] 喚醒來源計數 - 1 喚醒來源 [0] 類型: 喚醒計時器 擁有者: [SERVICE] \Device\HarddiskVolume2\Windows\System32\svchost.exe (SystemEventsBroker) 擁有者提供的原因: Windows 將執行 'NT TASK\2BrightSparks\SyncBackFree\ASUS-User\DailyBackup' 排定要求喚醒電腦的工作。
2. 查詢系統中已設定用來喚醒電腦的程序,於 cmd 命令提示字元執行:
powercfg /waketimers
沒有的話會顯示:
系統沒有使用中的喚醒計時器。
有的話會顯示:
[SERVICE] \Device\HarddiskVolume2\Windows\System32\svchost.exe (SystemEventsBroker) 設定的計時器在 下午 10:59:29 的 2017/2/11 到期。 原因: Windows 將執行 'NT TASK\2BrightSparks\SyncBackFree\ASUS-User\DailyBackup' 排定要求喚醒電腦的工作。
你得依查詢的狀況去找出程式來關閉喚醒電腦功能。
例如,根據上面於我的電腦執行 powercfg 所得到的結果,我必須去執行 SyncBack 程式,將 Profile: DailyBackup 於排程設定中的「Wake the computer to run this task」選項給關閉。
自動維護
Windows 的「自動維護」功能也會喚醒電腦。
關閉喚醒的步驟:
- 進到 控制台\系統及安全性\安全性與維護\自動維護。
- 將「允許排定的維護在排定的時間喚醒我的電腦」給取消勾選:
參考網頁
[MySQL]資料庫的備份與還原
資料庫匯出/備份
1. 備份單一資料庫:
$ mysqldump -u Username -p --opt DatabaseName > Backup.sql
2. 僅備份特定資料庫下的資料表:
$ mysqldump -u Username -p --opt DatabaseName Table1 Table2... > Backup.sql
3. 僅匯出資料表結構:
$ mysqldump -u Username -p --opt --no-data DatabaseName > Backup.sql
4. 備份全部的資料庫:
$ mysqldump -u Username -p -A --opt > AllBackup.sql
mysql/mysqldump/mysqladmin 與「登入」有關的參數說明:
- -u Username: 用來存取 mysql 資料表的用戶名稱。此參數可省略,若省略,則表示為目前登入 linux 的用戶名稱。
- -p: 於執行時再詢問密碼。
- -pPassword: 用來存取 mysql 資料表的密碼,-p 與 Password 的中間不可有空格。
資料庫匯入/還原
1. 建立資料庫,再從備份檔匯入單一資料庫:
$ mysqladmin -u Username -p create DatabaseName
$ mysql -u Username -p DatabaseName < Backup.sql
2. 從備份檔匯入全部的資料庫 (不需先建立資料庫):
$ mysql -u Username -p < AllBackup.sql
狀況處理:
狀況 1.
匯入資料庫時出現錯誤訊息: Unknown collation: 'utf8mb4_unicode_ci' 或 Unknown collation: 'utf8mb4_unicode_520_ci'
說明:
MySQL 於 v5.5.3 版之後才有「utf8mb4」的編碼格式。原本 utf8 的最大編碼長度為 3bytes,而 utf8mb4 的最大編碼長度為 4bytes,因此它比 utf8 可以儲存更多的字元。但是以常用的文字來講,utf8 已經完全足夠使用了。若不昇級 MySQL Server,則只須將匯入的字元編碼格式改為原本的 utf8。
解決方法:
先將備份檔中的 utf8mb4 字串替換成 utf8: (以下的三行指令需依照順序執行)
$ sed -i 's/utf8mb4_unicode_ci/utf8_general_ci/g' Backup.sql $ sed -i 's/utf8mb4_unicode_520_ci/utf8_general_ci/g' Backup.sql $ sed -i 's/utf8mb4/utf8/g' Backup.sql
全部替換完再進行匯入:
$ mysql -u Username -p DatabaseName < Backup.sql
狀況 2.
以 mysqldump 匯出資料庫時出現錯誤訊息: Got error: 1044: Access denied for user 'backup'@'localhost' to database 'test' when using LOCK TABLES
說明:
這錯誤訊息已說明了用來執行 mysqldump 的帳號沒有「LOCK TABLES」權限! 通常用 root 帳號匯出資料庫不會發生這個問題,因為我們會給 root 所有的權限。然而我們在設定其它帳號時可能會忘了給它設定「LOCK TABLES」權限,而執行 mysqldump 至少需要「SELECT」與「LOCK TABLES」權限才行,最好再加上「SHOW VIEW」、「EVENT」與「TRIGGER」。
解決方法:
重新授予用戶權限:
grant SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER on *.* to 'backup'@'localhost' identified by '{Password}';
flush privileges;
狀況 3.
從 cpanel 下載的 MySQL 檔案格式為 *.gz,可以用 gunzip 解壓縮:
$ gunzip Backup.sql.gz
注意: 使用 gunzip 解壓縮後,原本的 *.gz 會被刪除!!若要保留舊檔,須改用下列指令:
$ gunzip -c Backup.sql.gz > Backup.sql
資料庫離線備份/還原
MySQL 的資料庫放在 /var/lib/mysql 下,以資料庫的名稱做為目錄的名稱。直接將 /var/lib/mysql 下的資料庫目錄用 tar 指令個別壓縮起來即可做為備份。要還原再把檔案解壓縮回去。
要以這種方式執行備份與還原都必須先停止 MySQL 的服務:
$ service mysqld stop
參考網頁
處理 DNS 的 CNAME 造成收件者錯誤的問題
第一次遇到客戶因為自己 Server 的 DNS 問題,造成我方要寄信給客戶時,收件者的 EMail Address 會於 SMTP Server 端被自動變更 (寄給 [email protected] 會變成寄給 [email protected]),以致於客戶收不到 EMail 的問題!! (客戶可能以為是我方的問題)
我自己測試的結果是與 DNS 的 CNAME 有關:
C:\>nslookup -type=cname example.com Server: dns.hinet.net Address: 168.95.1.1 example.com canonical name = other.example.com
同時我在網路上找到一篇微軟的 KB 文件,已經寫得很清楚了,我就直接把內容放上來。
修復 Linux 開機出現檔案系統有不一致性 (UNEXPECTED INCONSISTENCY) 的錯誤問題
Linux 無法正常開機,出現錯誤訊息:
Checking filesystems /dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (i.e., without -a or -p options) [FAILED] *** An error occurred during the file system check. *** Dropping you to a shell; the system will reboot *** when you leave the shell. Give root password for maintenance (or type Control-D to continue):
錯誤訊息指出 /dev/sda1 分割區有不一致性的問題!!
Linux 電子郵件防毒: ClamAV + Sendmail
本文要介紹的 Linux 的 E-Mail 防毒主要由兩個套件組成: clamav 與 clamav-milter。
其中「clamav」是防毒軟體、「clamav-milter」是 clamav 用來與 sendmail 整合的掃毒程式。
如何檢測 logrotate 的錯誤
logrotate 的主要功能是將舊的 log 檔改檔名,並建立一個新的檔案來讓 syslog 存放新的 log。
錯誤狀況
我的 Linux 系統都有持續在寫入 log,但是單一的 log 檔檔案過大,表示已經有幾個月沒有執行 logrotate 了! 因此研判 syslog 的功能是正常的,可能是 logrotate 的運作出了問題。
Windows 10/11 鍵盤快速鍵 hotkey
Windows 基本
- Win + A: 顯示快速設定面板
- Win + D: 顯示桌面 *
- Win + E: 執行檔案總管 *
- Win + G: 顯示遊戲工具列
- Win + I: 開啟 Windows 設定 *
- Win + K: 連結無線裝置 (藍牙音訊、Miracast、手機、螢幕、投影機、鍵盤、滑鼠...)
- Win + L: 鎖定螢幕 *
- Win + O: 切換自動旋轉 (平板專用)
- Win + P: 設定投影、無線螢幕
- Win + R: 執行 Windows 指令 *
- Win + Q/S: 搜尋應用程式、文件、網頁... *
- Win + U: 協助工具
- Win + V: 剪貼簿歷程記錄
- Win + W: 顯示 Windowns Ink 工作區 (便箋、繪圖板、擷圖)
- Win + X: 顯示超級使用者選單 *
- Win + ⇧Shift + S: 螢幕擷取工具
- Win + Print Screen: 快速擷取螢幕畫面,並自動儲存在圖片資料夾下的「Screenshots」資料夾
- Win + 數字鍵: 執行或切換至工作列上的第 n 個程式
- Alt + F4: 關閉視窗/程式
- Ctrl + ⇧Shift + ESC: 叫出工作管理員
- Ctrl + ⇧Shift + Win + B: 重新啟動顯示卡驅動
CentOS 6.x 安裝 nslookup 的步驟 (與 yum 如何查詢套件)
在 Linode VPS 佈署的 CentOS 6.x 已經沒有 nslookup 這個工具程式了!!
以下將藉由安裝 nslookup 的同時,順便也復習一下 yum 的查詢套件功能...
INFORMATION
我們解決了什麼問題?我們創造了什麼價值?
近期迴響