close

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

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 yunjuihuang 的頭像
    yunjuihuang

    瑞の資訊備忘錄

    yunjuihuang 發表在 痞客邦 留言(2) 人氣()