1. Download : mysql-5.0.45
2. tar zxvf mysql-5.0.45.tar.gz -C /home/
-z : 使用gzip 進行壓縮/解壓縮 (j:bzip2)
-x : 解打包或解壓縮的功能
-v : 解/壓縮的過程中,列出檔案名稱
-f : 欲解/壓縮的名稱
3. cd /home/mysql-5.0.45
4. ./configure --prefix=/home/mysql-5.0 -localstatedir=/home/mysql-5.0/lib
--prefix : 設定Mysql安裝的路徑
--localstatedir : Mysql資料庫的資料檔存放的路徑
如須要查詢其他的參數可以執行./configure --help得到相關的訊息
5. make
6. make install
7. useradd mysql (新增使用者)
8. chown -R mysql:mysql /home/mysql-5.0/lib
(改變檔案擁有者,因為連同該目錄下的子目錄一起變更因此必須要加 -R 的參數)
9. scripts/mysql_install_db (建立mysql的基本資料庫)
10. cd /home/mysql-5.0/mysql
11. cp /home/mysql-5.0/mysql/share/mysql/my-small.cnf /etc/my.conf
option file as your hardware resource : my-small.cnf 、my-medium、my-huge.cnf
12. 允許 mysql 從外部連線的話必須修改my.conf。
12-1. # skip-networking
# bin-address-127.0.0.1
12-2. into mysql client environment (see. 14.15) :
create user yunjuihuang;
set password for username = password('1234567');
update user set HOST="192.168.0.100" where User="yunjuihuang";
(設定yunjuihuang 使用者只能從182.168.0.100的位址連線至mysql,若不設則任何位址都可連線)
13. 使用foreign key的功能則必須改用INNODB engine,因此必須修改my.conf
innodb_data_home_dir = /home/mysql-5.0/lib/
innodb_data_file_path = ibdatal:10M:autoextend
innodb_log_group_home_dir = /home/mysql-5.0/lib/
innodb_log_arch_dir = /home/mysql-5.0/lib
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
14. share/mysql/mysql.server start
15. /bin/mysql -u root -p (password default is empty)
16. 開機自動啟動Mysql server:
16-1. cp /home/mysql-5.0/share/mysql/mysql.server /etc/rc.d/init.d/mysql
16-2 chkconfig -- add mysql (增加所指定的系統服務)
or /etc/rc.d/rc.local <====將執行命令加入此檔案的內容
17. Mysql 基本建立資料的操作說明:
(1) Add Data:
INSERT INTO table_name (field_name1,field_name2,field_name3)
VALUE (file_value1,file_value2,fiel_value3);
EX:insert into user_info(user_name,user_password,mac_no)
VALUE ("yunjuihuang","12343abc","12:32:34:33:00:12");
(2) Select Data:
SELECT field1,field2 FROM table1,table2 WHERE condition1, condition
ORDER BY field1,field (DESC) limit start count,show count
(3) Update data:
UPDATE table1 SET field1=value WHERE filed2= value;
EX:update mac_list,user_info set user_info.mac_no = mac_list.no
where mac_address ="19:11:12:23:E1:55" and user_name = "00000000"
(4) Delete Data: DELETE FROM table_name WHERE 1>0;
(5) Create Table:
Use basic; //change to use database
CREATE TABLE table_name (no char(4),name char(10),id char(10));
CREATE TABLE student_info( NO char(8),NAME char(30), Birthday date,
AGE int(3),TEL char(12),CITY char(20),COUNTRY char(20));
CREATE TABLE `table` ( 略 )
ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
ENGINE:資料庫類型 DEFAULT CHARSET:支欄的語系 AUTO_INCREMENT:自動增加數值;
(6) Create Database: craete database basic;
(7) 重設表格內自動遞增欄位的值: ALTER TABLE XXXX AUTO_INCREMENT = 1
18. Mysql 基本操作指令說明:
(1) 顯示表格的格式 一 describe user_info;
(2) 新增使用者 一 create user yunjuihuang;
(3) 設定密碼 一 set password for username = password('123456');
(4) 目前連線至mysql的使用者列表 一 SELECT USER();
(5) 設定時間欄位為目前的時間 一
ALTER TABLE login_table CHANGE login_datatime login_datatime
TIMESTAMP NOT NULL;
(6) 刪除主鍵 (primary key) 一 alter table tv7_mac drop primary key;
(7) 修改欄位名稱 一
alter table student change ok me char(50);
ALTER TABLE disscuss CHANGE COLUMN name user_name varchar(100);
(8) 設定資料庫語系 一
alter database user_db default character set utf8 default collate utf8_general_ci;
(9) 設定表格語系或格式 (如果要變更已經存在的欄位語系只有用alter table change 再重設即可 一
alter table user_info default character set utf8 default collate utf8_general_ci;
alter table user_info change user_name user_name char(50);
(10) 查詢特定資料庫的語系 一 show variables like '%character%';
(11) 其他選項的語系設定 一
SET character_set_client=’utf8′
SET character_set_connection=’utf8′
SET character_set_results=’utf8′
(12) 顯示表格更詳細的資料 一
SHOW FULL FIELDS FROM database.table
SHOW FULL FIELDS FROM table FROM database
SHOW FULL FIELDS FROM table # 若已經 use database 過了, 這樣子即可
(13) 新增欄位 一 ALTER TABLE disscuss ADD user_image varchar(50) AFTER ip;
(14) 設定欄位的預設值 一
ALTER TABLE disscuss ALTER COLUMN web SET DEFAULT 'http://www.dob.com.tw';
(15) 新增主鍵(primary key) 一 alter table user_info add primary key(no);
(16) add auto_increment -
alter table tv7_mac change no no int(10) unsigned NOT NULL AUTO_INCREMENT;
(17) allow auto_increment is zero -
set sql_mode='NO_AUTO_VALUE_ON_ZERO';
(18) reset auto_increment value -
ALTER TABLE tablename AUTO_INCREMENT=0
(19) drop auto_increment -
alter table tv7_mac change no no int(10) unsigned NOT NULL;
(20) add unique -
alter table tv7_member add unique(mac_no);
(21) drop table user_machine_state
(22) delete foreign
ALTER TABLE test DROP FOREIGN KEY `tag_ibfk_1`;
(23) add foreign
alter table user_info add foreign key(mac_no) references user_mac(no);
[ON DELETE {CASCADE | SET NULL | NO ACTION | RESTRICT}]
[ON UPDATE {CASCADE | SET NULL | NO ACTION | RESTRICT}]
CASCADE - 會將有所關聯的紀錄行也會進行刪除或修改。
SET NULL - 會將有所關聯的紀錄行設定成 NULL。
NO ACTION - 有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
RESTRICT - 與 NO ACTION 相同。
(24) show support engine - show engines
(25) show use engine - show table status from DatabaseName;
(26) change use engine - alter table demo_table ENGINE = INNODB
19. 匯出和 匯入資料庫的方法:
(1) mysql backup 一
mysqldump -u sadmin -p pass21 Customers > custback.sql <==標準
mysqldump -u sadmin -p Customers > custback.sql <==mysql 5.0
(2) Restore database 一
mysqldump -u sadmin -p pass21 Customers < custback.sql
mysqldump -u sadmin -p Customers < custback.sql <==mysql5.0
(3) 中文備份的相關指令 一
mysqldump -u USERNAME =pPASSWORD --default-character-set=utf8 [DBname]
> [filepath/filename.sql]
-pPassword -p不需要有空白
20. 其他資訊:
MySQL欄位型態 - http://dyna.hcc.edu.tw/php5/basic/courses/class4_1.htm