Ubuntu 16.04 改變 Timezone 時區設定

Ubuntu 要改變 Timezone 時區設定,可以用以下方法:dpkg-reconfigure用 root 身份用 dpkg-reconfigure 設定 Ubuntu 的 Timezone, 好處是有一個選單可以選擇地區,不用記著時區的字串: # dpkg-reconfigure tzdata 出現 “Configuring tzdata” 後,先選擇地區,亞洲地區選擇 “Asia”, 然後再選擇所在城市,按 “OK” 後便完成,同時系統會印出新的 Timezone 時區設定。timedatectl另一個方法是用 timedatectl,使用前先用以下指令取得 Timezone 列表: # timedatectl …

Apache log 的 internal dummy connection

當開啟 Apache 的 access_log 查看裡面的內容,查詢記錄內簡中會看到一堆 “internal dummy connection” 的記錄: ::1 – – “OPTIONS * HTTP/1.0” 200 – “-” “Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/5.4.16 (internal dummy connection)” 根據 Apache 官方的說明, 這是 …

Ubuntu 安裝 PHP 7.0 及 PHP 7.1

目前 PHP 最近版本是 7.1, 以下文會介紹透過 ondrej/php 的 PPA 安裝 PHP 7.0 及 7.1 的方法, 以下方法適用於 Ubuntu 16.10, 16.04 及 14.04.首先執行以下指令加入 ondrej/php 的 PPA: $ sudo apt-get install python-software-properties $ sudo …

修復錯誤刪除 InnoDB ibdata 檔案資料

當錯誤刪除了 MySQL 的 InnoDB 資料庫檔案 ibdata 及 ib_logfile, 如果 MySQL 伺服器仍在執行狀態, 而且資料可以照常寫入, 切記不要關閉 MySQL 伺服器或 kill 掉 mysqld, 這時還可以將 InnoDB 資料庫修復的, 以下記錄修復的步驟, 如果要測試, 切記在測試環境進行, 切勿在生產環境測試:1. 先找出 mysqld 的 pid, 可以用 …

Ubuntu Linux 掛載 Windows 10 分割區

如果在一台電腦同時安裝 Linux 及 Windows 10 / Windows 8, 在 Windows 下重新開機進入 Linux 時, 掛載 Windows 的系統分割區 (即 Windows 的 C:) 沒有問題, 但當在關機後進入 Linux, 掛載 Windows 系統分割區會出現錯誤:Windows is not fully shutdown原因是 …

MySQL – DELETE, TRUNCATE 及 DROP 的分別

在 MySQL 要刪除資料可以用 DELETE 指令, 而清空資料表可以用 TRUNCATE, 刪除資料表則可以用 DROP TABLE, 以下會介紹這三個 MySQL 指令的分別。TRUNCATEMySQL 的 TRUNCATE 是用作清空資料表, auto_increment 的數值也會重設, 清空後的資料表就如同剛建立一樣, 因為 TRUNCATE 的做法是先 DROP 掉資料表, 再用 CREATE 指令重新建立資料表, 刪除所有資料的執行效率比 DELETE 高, …

把 crontab 執行指令輸出寫入記錄檔

一般上在 crontab 自動執行的指令, 會將所有指令標準輸出及錯誤放到 /dev/null, 這便會略過所有指令的輸出, 例如用 crontab 執行 /root/my-script.sh, 一般上語法是這樣寫: * * * * * /root/my-script.sh > /dev/null 但有時需要將執行指令的輸出儲存下來, 只要將 /dev/null 換成記錄檔的位置即可, 例如想把指令的輸出放到 /var/log/mycrontab.log, 可以這樣寫: * * * * …

MySQL InnoDB 刪除資料後釋放硬盤空間

MySQL 使用 InnoDB 時,當資料表用 DELETE FROM 刪除資料後,硬碟空間並不會立即釋放,因為 MySQL 只對已刪除的資料標記為刪除,並沒有真正刪除資料,這會導致 InnoDB 的檔案不斷擴大。只有在 DROP TABLE 及 TRUNCATE TABLE 時才會釋放空間。如果沒有開啟 innodb_file_per_table,所有 InnoDB 的資料都會儲存在 ibdata 檔案內,對於資料庫的體積很大的 MySQL Server,要釋放硬碟空間會很痛苦,因為只有將 MySQL 資料庫導出,再重新將備份還原才可以釋放空間。如果 innodb_file_per_table 有開啟,每個 InnoDB 資料表都會有獨立的檔案,可以較簡單地釋放硬碟空間, …

查詢已安裝的 MySQL / MariaDB 版本

由於各個 MySQL 的版本都略有不同,而且又有 MaridDB 或 Percona 等分支版本, 很多時系統管理員都需要查詢系統內的 MySQL 版本,要查詢系統內的 MySQL 版本,以下列出幾種查詢 MySQL 版本的方法。CLI在 CLI 查詢 MySQL 版本十分簡單,用 mysql 指令便可以, 而且不用登入 MySQL: $ mysql -V 執行後會輸出 MySQL 的版本, 以下是在 CentOS …

解決 nslookup, dig , host Command Not Found

nslookup, dig 及 host 這三個指令是 DNS 查詢工具, 對 DNS 除錯很實用, 原因是系統沒有安裝以上工具的套件, 執行以上指令會出現 Command Not Found:nslookup :command not founddig :command not foundhost:command not found只要安裝相關的套件包即可解決問題, RHEL 及 CentOS 安裝 bind-utils; Debian 及 …