IT
Learning & Work notes
2012-09-19
CVSUP
一、安裝 cvsup
# cd /usr/ports/net/cvsup-without-gui
# make;make install;make clean
二、修改 /etc/make.conf來設定 cvsup的環境
# vi /etc/make.conf 加入
SUP_UPDATE= yes
SUP= /usr/local/bin/cvsup
SUPFLAGS= -g -L 2
# cvsup本身提供範例檔在 /usr/share/examples/cvsup 底下可直接引用
SUPFILE= /usr/share/examples/cvsup/stable-supfile # 升級 stable的cvsup檔
PORTSSUPFILE= /usr/share/examples/cvsup/ports-supfile # 升級 port tree的cvsup檔
DOCSUPFILE= /usr/share/examples/cvsup/doc-supfile # 升級 document的cvsup檔
# 國內cvsup連線的主機
SUPHOST= cvsup.tw.FreeBSD.org
# 國內主要的 FreeBSD distfiles mirror 站台MASTER_SITE_BACKUP?= \
ftp://ftp.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp5.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp10.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp2.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp3.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp4.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp7.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp8.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp9.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp11.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp12.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://freebsd.nsysu.edu.tw/FreeBSD/ports/distfiles/${DIST_SUBDIR}/\
ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}
找到上述三個 SUPFILE 修改裡面的 *default host= cvsup.tw.FreeBSD.org
三、升級升級 ports tree
# cd /usr/ports
# make update
升級 src
# cd /usr/src
# make update
2007-07-10
MYSQL基本指令
Unix Shell
從unix shell 登入到mysql
[mysql dir]/bin/mysql -h hostname -u root –p
修改使用者密碼
[mysql dir]/bin/mysqladmin -u root -h hostname.blah.org -p password 'new-password'
匯出:
[mysql dir]mysqldump -c -u username -ppassword databasename [tablename] > backup.sql
tar zcvf database.tgz mysql data directory
匯入:
[mysql dir]mysql –h host –u user –ppassword databasename <>
tar zxvf database.tgz
MYSQL指令
建立資料庫
CREATE database [databasename];
刪除資料庫
DROP database [database name];
列出所有資料庫清單
show databases;
開啟一個資料庫
use [database name];
列出開啟中資料庫的所有資料表
Show tables;
刪除資料表
DROP table `table name`;
最佳化資料表
OPTIMIZE table `table name1`,`table name2`;
列出一個資料表的格式
Describe [table name];
列出一個資料表欄位和附屬關係
show columns from [table name];
新增一個資料表
CREATE table `table name` (`column name` varchar(50) ,primary Key(`column name`)) type=MYISAM;
新增一個欄位
ALTER table `table name` ADD column `new column name` varchar (20);
修改欄位的資料型態
ALTER table `table name` MODIFY `column name` VARCHAR(15);
修改欄位名稱
ALTER table `table name` change `old column name` `new column name` varchar (50);
建立Primary key
ALTER table `table name` ADD primary key (`column name`);
建立Index
ALTER table `table name` ADD index (`column name`);
增加Unique的屬性
ALTER table `table name` ADD unique (`column name`);
增加全文檢索的屬性
ALTER table `table name` ADD full text (`column name`);
刪除主KEY
ALTER table `table name` DROP primary key;
刪除index屬性
ALTER table `table name` DROP index `colmn name`;
刪除Unique的屬性
ALTER table `table name` DROP unique `column name`;
刪除全文檢索的屬性
ALTER table `table name` DROP full text `column name`;
刪除一個欄位
ALTER table `table name` DROP column `column name`;
範例:
CREATE TABLE `table name`
(firstname VARCHAR(20), middleinitial VARCHAR(3), lastname VARCHAR(35),suffix VARCHAR(3),
officeid VARCHAR(10),userid VARCHAR(15),username VARCHAR(8),email VARCHAR(35),phone VARCHAR(25), groups VARCHAR(15),datestamp DATE,timestamp time,pgpemail VARCHAR(255));
CREATE table `table name` (personid int(50) not null auto_increment primary key,firstname varchar(35),middlename varchar(50),lastname varchar(50) default 'bato');
回傳一個資料表的所有資料
SELECT * FROM [table name];
回傳符合條件的部份資料
SELECT * FROM [table name] WHERE [field name] = "whatever";
回傳符合除了條件以外的部份資料並依某個欄位的值排序
SELECT * FROM [table name] WHERE name != "whatever" AND phone_number = '123456' order by phone_number;
回傳類似該條件的部份資料
SELECT * FROM [table name] WHERE name like "Bob%" AND phone_number = '123456';
使用正規劃方式回傳符合條件的部份資料
SELECT * FROM [table name] WHERE rec RLIKE "^a$";
回傳唯一的資料
SELECT DISTINCT [column name] FROM [table name];
回傳資料並指定降冪(DESC)升冪(ASE)排序
SELECT [col1],[col2] FROM [table name] ORDER BY [col2] DESC;
回傳一個資料表的資料筆數
SELECT COUNT(*) FROM [table name];
回傳一個欄位的所有資料加總起來的值
SELECT SUM(table name) FROM [database name];
組合搜尋多個資料表
SELECT lookup.illustrationid, lookup.personid,person.birthday from lookupleft JOIN person on lookup.personid=person.personid=statement to JOIN birthday in person table with primary illustration id;
刪除一筆資料
DELETE from [table name] where [field name] = 'whatever';
建立一個本地端新的MYSQL使用者
use mysql
INSERT INTO [table name] (Host,User,Password) VALUES('localhost','user',PASSWORD('password'));
修改使用者密碼
SET PASSWORD FOR 'user'@'hostname' = PASSWORD('passwordhere');
建立一個使用者並指定能對一個資料庫進行SELECT、INSERT、UPDATE、DELETE、CREATE
INSERT INTO [table name] (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ('%','db','user','Y','Y','Y','Y','Y','N');
修改既有的使用者權限
UPDATE [table name] SET Select_priv = 'Y',Insert_priv = 'Y',Update_priv = 'Y' where user = 'user';
重新載入資料庫權限
FLUSH PRIVILEGES;
載入CSV檔到一個資料表裡
LOAD DATA INFILE '/dir/filename.csv' replace INTO TABLE `table name`
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (field1,field2,field3);
SCSI Status Error
在安裝公司機器時,開機顯示許多SCSI Status Error的錯誤訊息,如下
(da2:ahc0:0:2:0): Retrying Command (per Sense Data)
(da0:ahc0:0:0:0): WRITE(10). CDB: 2a 0 1 a1 18 bf 0 0 1c 0
(da0:ahc0:0:0:0): CAM Status: SCSI Status Error
(da0:ahc0:0:0:0): SCSI Status: Check Condition
(da0:ahc0:0:0:0): UNIT ATTENTION asc:29,1
(da0:ahc0:0:0:0): Power on occurred
感覺作業系統I/O上的問題,檢測後終於發現問題,在SCSI硬碟的排線壞了或排線末端的終端模組壞了或沒裝,修正之後及恢復正常。