2009年4月27日 星期一

MYSQL 簡易管理者常用語法整理

在 Linux 裡面 很多的應用程式都是使用 mysql 大部分的 SQL 語法都幾乎一樣 只是有些系統操作面的指令不同而已 這裡整理一些比較常用的系統管理指令


A : 修改帳號密碼

修改帳號密碼有兩個方法

1. 使用 mysqladmin
2. 利用 mysql 指令去修改

1. 使用 mysqladmin

若是剛安裝完成 mysql 其初始 root 是沒有設定密碼 , 為了安全必須更改密碼
(註 mysql 的 root 跟 系統的 root 是不同的個體)

語法如下所示 :
mysqladmin password "new-password"
mysqladmin -u root password "new-password"
mysqladmin -u root -h localhost password "new-password"

如下圖所示:



若是要修改原有的密碼 , 其語法如下 :
mysqladmin -u root -p password "new-password"

畫面會出現 : enter password : 這時候鍵入舊密碼 , 這樣即可修改密碼

如下圖所示 :


2. 使用sql指令修改密碼 :

USER的密碼是放在名為 mysql 資料庫的 USER 這 TABLE 裏面 , 所以直接去修改資料即可.

指令如下 :
shell>mysql -u root mysql
shell>update user set password=password('new_password') where user='root';
shell>flush privileges;

可以用這指令查詢是否有密碼
select password from user where user='root';

整個執行步驟如下圖所示 :

沒有密碼的範例 :

有密碼的範例 : (密碼以編碼過)



B : 登入MYSQL

指令 :
shell>mysql -u root -h localhost -p XXX..

參數 :
-u <使用者帳號>
-p <使用者密碼>
後面也可以直接打上密碼登入 , 不過若有旁人 , 在因為是明碼 比較有風險, 不建議加上密碼
沒加上密碼按 enter 後 會出現 enter password: 這時候打入密碼是隱藏字元 比較安全
-h <資料庫主機名稱> 若打上主機名稱要能解析

XXX.. <資料庫名稱> 可以直接開啟資料庫 , 此參數可加可不加


C : 顯示全部的資料庫

指令 :
mysql>show databases;

如下圖示 :



D : 使用資料庫跟顯示資料庫裡面的TABLE

指令:
使用資料庫
mysql>user <資料庫名稱>
顯示資料庫裡面的 TABLE
mysql>show tables;

如下圖所示 :


E : 查詢TABLE裏面各欄位的資訊

指令:
顯示TABEL各欄位的資訊
mysql> desc <資料庫名稱>
如下圖所示 :




F : 查詢目前mysql的版本及建立日期

指令:
查詢mysql版本:
mysql>select version();
查詢mysql建立日期:
mysql>select current_date;

如下圖所示:


G : 顯示目前是用哪一個使用者名稱登入

指令:
mysql>select user();

如下圖示:




H : 建立新的資料庫及刪除資料庫

指令 :
建立資料庫
mysql>create database <資料庫名稱>;
刪除資料庫
mysql>drop database <資料庫名稱>;

如下圖所示 :


2009年4月16日 星期四

CISCO Route 設定 : Clock 篇

設定 CISCO Clock 步驟 :

首先 telnet 到 route 然後到 privileged mode

指令 : clock set (hh:mm:ss) (day) (month) (Year)

整個設定步驟如下圖 :



查詢目前 route 的 clock


指令 : show clock


執行如下圖 :


2009年4月13日 星期一

chkconfig 設定 預設服務說明

每次安裝完 redhat 後 總會到 chkconfig 把沒用到的服務關掉
有些預設的服務大多數是沒用到

有些服務不是很了解它的用途 也沒仔細去查
有天在這網頁看到有人詳細列表 就把它摘錄 很有參考價值

可以依照自己需求 開關這些服務

原文出處 :
http://www.weithenn.idv.tw/cgi-bin/wiki.pl/CentOS_5.1-%e5%88%9d%e5%a7%8b%e7%92%b0%e5%a2%83%e8%a8%ad%e5%ae%9a



預設開啟服務 說明 :
================================================================
acpid : Advanced Configuration and Power Interface 電源進階設定常用在 Laptop 上
apmd : Adventage Power Management daemon 偵測系統的電池電量常用在 Laptop 上
atd : /etc/at.allow,/etc/at.deny 我大概都使用 crond 來達成
autofs : 自動掛載檔案系統與週邊裝置 (如光碟、USB),常用在 Laptop 上
avahi-daemon : 當區網沒有 DNS 服務時會試著尋找提供 zeroconf 協定的主機
bluetooth : Bluetooth 藍芽驅動,常用在 Laptop 上
cpuspeed : 控制 CPU 速度主要用來省電,常用在 Laptop 上
cups : Common UNIX Printing System 使系統支援印表機
firstboot : 安裝完成後第一次啟動時的服務,設定 auth、firewall、keyboard...
gpm : 記錄週邊裝置的檔案資料,例如文字模式下可使用滑鼠
haldaemon : 使系統支援 plug and play 裝置
hidd : 使系統支援藍芽裝置,例如滑鼠,鍵盤
hplip : 使系統支援 HP 相關型號印表機
ip6tables : 使系統支援 IPTables Filrewall IPv6
isdn : 使系統支援 Integrated Services Digital Network (ISDN) 環境
lm_sensors : 使系統支援偵測主機版或硬體,常用在 Laptop 上
messagebus : 使系統支援 plug and play 裝置
nfslock : 使系統支援 NFS Server 資料一致性功能
pcscd : 使系統支援 Smart Card
portmap : 使系統支援 NFS Service
rpcgssd : 使系統支援 NFSv4 Service
rpcidmapd : 使系統支援 NFSv4 Service
yum-updatesd : 使系統支援 YUM 自動更新服務
anacron : 執行在 crontab 設定的時間沒有執行到的工作
auditd : 稽核系統 /var/log/audit/audit.log,若 auditd 未執行中則稽核訊息會
寫入 /var/log/messages (配合 SELinux)
iptables : 使系統支援 IPTables Filrewall
irqbalance : 使系統支援多個 CPU 環境當系統中斷請求時進行負載平衡的程序,
所以單 CPU 的機器就不需要
lvm2-monitor : 使系統支援 Logical Volume Manager 邏輯磁區
mcstrans : 主要用於配合 SELinux 服務
mdmonitor : 使系統支援 RAID 相關程序
microcode_ctl : 使系統支援 Intel IA32 CPU 特色,所以 AMD CPU 不需要
netfs : Network File System Mounter 網路掛載系統 (如 NFS、Samba、NCP)
restorecond : 使系統支援 SELinux 監控檔案狀態
smartd : 使系統支援檢查硬碟狀態 (Hardware RAID 要改設定檔)
sendmail : 使系統支援 Sendmail
xfs : 使系統支援 X Window 字型
crond : /etc/cron.* 排程服務
kudzu : 使系統每次開機會都自動執行硬體偵測
network : 使系統支援網卡
readahead_early : 使系統再啟動時預先將相關檔案讀到記憶體內來加快啟動速度
sshd : 使系統支援 SSH Service
syslog : 使系統支援 System Log Service

2009年4月2日 星期四

在 Oracle 下查詢 LOCK 的 USER

常常被程式師要求查詢誰在LOCK TABLE
之前每次要用到都去查書
這一次就把它記下來 下次直接拿來用就好

在 oracle 有提供一個 VIEW 可以查詢 V$LOCKED_OBJECT

各欄位說明 :
============================
XIDUSN 回覆區段編號
XIDSLOT 插槽編號
XIDSQN 序號
OBJECT_ID 被鎖定物件編號
SESSION_ID SESSION 編號
ORACLE_USERNAME ORACLE的使用者
OS_USER_NAME 作業系統的使用者
PROCESS 作業系統的行程代碼
LOCKED_MODE 鎖定模式

這麼多欄位 我只用到 SESSION_ID , ORACLE_USERNAME , OS_USER_NAME

SQL 語法如下 :

SELECT SESSION_ID,ORACLE_USERNAME,OS_USER_NAME FROM V$LOCKED_OBJECT

對照 對方給你的 ORACLE_USERNAME 及 OS_USER_NAME 查到 SESSION_ID
在把它 KILL PROCESS 就可以 UNLOCK

跟大家分享