實機操作練習題

  1. 前置處理
    1. 遠端登入 kvm6 虛擬機。
    2. 以 root 身份登入 mysql。
    3. 在資料庫 dbk 進行以下資料表的處理,如果資料庫 dbk 不存在,請自行產生。
  2. clone table
    1. 建立資料表 clone1,包含下列欄位,設定 id 為 primary key,name 為 index。
      1. id int unsigned not null,
      2. name varchar(30),
      3. address varchar(50)
    2. 在資料表 clone1 中應該至少會有兩筆紀錄,若有很多筆也沒關係。如果沒有,請自行任意產生兩筆紀錄。
    3. 再將資料表 clone1 複製成 clone2,複製的不只是紀錄,還包含 index, key 等欄位特徵,比對 clone1 及 clone2 兩個資料表應該要完全一樣。
  3. Metadata
    1. 請在 shell 命令列查出 mysql 的版本,導向到 /tmp/metadataversion
    2. 請在 shell 命令列查出 mysql 中包含 ssl 字串的所有狀態 (status),導向到 /tmp/metadatassl
    3. 請在 shell 命令列查出 mysql 含 max_join_size 字串的變數 (variables) 大小,導向到 /tmp/metadatamaxjoinsize
    4. 在 shell 下執行 mysql,再導向到指定的檔案,範例:
      [root@kvm6 ~]# mysql -s -uroot -p123qwe -e 'use dbk;show database();' > /tmp/metadatadb
      
  4. 暫時資料表
    1. 寫一 sales1.php 檔放在 /var/www/html 目錄下,建立資料表 sales1,包含下列欄位,id 自動編號。
      1. id int unsigned not null,
      2. product varchar(30),
      3. price int unsigned not null default 0
    2. 在 sales1 新增一筆資料 (ssd 1399)。
    3. 查詢 sales1 的所有資料並導向到 /tmp/sales1.txt
    4. php 程式範例:
      <?php
      $dbhost = 'localhost:3306';
      $dbuser = 'root';
      $dbpass = '123qwe';
      $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error().PHP_EOL);
      mysql_select_db( 'dbk' );
      $sql = "CREATE temporary table ...... ;" ;
      mysql_query( $sql, $conn ) or die(mysql_error().PHP_EOL);
      $sql = "insert into ...... ; ";
      mysql_query( $sql, $conn ) or die(mysql_error().PHP_EOL);
      $sql = "select .... into outfile '/tmp/sales1.txt'; ";
      $retval = mysql_query( $sql, $conn ) or die(mysql_error().PHP_EOL);
      mysql_close($conn);
      ?>