2016年3月7日 星期一

MySQL備忘_again

http://www.w3school.com.cn/index.html

以下內容出自http://dywang.csie.cyut.edu.tw/dywang/ojs/node6.html

  1. 先設定 mysqld 服務的編碼
    [root@csie5 ~]# vim /etc/my.cnf 
    [mysqld]
    default-character-set=utf8
    default-collation=utf8_unicode_ci
    character-set-server=utf8
    collation-server=utf8_unicode_ci 
    
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    
    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    
  2. 重新啟動 mysqld 服務
    [root@csie5 ~]# /etc/init.d/mysqld restart
    
  3. 登入 mysql 查詢 charset 變數,資料庫編碼為 character_set_database latin1
    [root@csie5 ~]# mysql -uroot -p
    Enter password: 
    
    mysql> use ijait;
    mysql> show variables like 'character_set%';
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | latin1                       |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | utf8                       |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)
    
  4. 使用 status; 或 \s 查詢也可以
    mysql> status;
    --------------
    mysql  Ver 14.14 Distrib 5.1.69, for redhat-linux-gnu (x86_64) using readline 5.1
    
    Connection id:  43
    Current database: 
    Current user:  root@localhost
    SSL:   Not in use
    Current pager:  stdout
    Using outfile:  ''
    Using delimiter: ;
    Server version:  5.1.69 Source distribution
    Protocol version: 10
    Connection:  Localhost via UNIX socket
    Server characterset: utf8
    Db     characterset: latin1
    Client characterset: utf8
    Conn.  characterset: utf8
    UNIX socket:  /var/lib/mysql/mysql.sock
    Uptime:   59 min 12 sec
    
    Threads: 1  Questions: 1112  Slow queries: 0  Opens: 645  Flush tables: 1  Open tables: 64  Queries per second avg: 0.313
    --------------
    
  5. 設定資料庫預設編碼為 utf8
    mysql> ALTER DATABASE ijait CHARACTER SET utf8 COLLATE utf8_general_ci;
    
  6. 使用 status; 或 \s 再查詢,資料庫編碼已改 utf8。
    mysql> status;
    --------------
    mysql  Ver 14.14 Distrib 5.1.69, for redhat-linux-gnu (x86_64) using readline 5.1
    
    Connection id:  43
    Current database: 
    Current user:  root@localhost
    SSL:   Not in use
    Current pager:  stdout
    Using outfile:  ''
    Using delimiter: ;
    Server version:  5.1.69 Source distribution
    Protocol version: 10
    Connection:  Localhost via UNIX socket
    Server characterset: utf8
    Db     characterset: utf8
    Client characterset: utf8
    Conn.  characterset: utf8
    UNIX socket:  /var/lib/mysql/mysql.sock
    Uptime:   59 min 12 sec
    
    Threads: 1  Questions: 1112  Slow queries: 0  Opens: 645  Flush tables: 1  Open tables: 64  Queries per second avg: 0.313
    --------------
    
  7. 雖然資料庫編碼已改為 utf8,但其中的資料表還是原先的 latin1 編碼,為一次轉碼,先以預設編碼 latin1 匯出資料庫,資料庫中的中文字串會以系統預設的 utf8 編碼呈現。
    [root@csie5 ~]# cd /var/lib/mysql/
    [root@csie5 mysql]# mysqldump --user=root --password=rootpw --default-character-set=latin1 --skip-set-charset ijait > ijait.sql
    
  8. 將資料庫中的 latin1 字串改成 utf8。
    [root@csie5 mysql]# sed -r 's/latin1/utf8/g' ijait.sql > ijait_utf.sql
    
  9. 再將 utf8 編碼的資料庫重新匯入。
    [root@csie5 mysql]# mysql --user=root --password=rootpw --default-character-set=utf8 ijait < ijait_utf.sql
    
  10. 資料庫雖已完全改成 utf8 編碼,OJS 網頁中中文顯示還是出現 '?????',故必須設定 OJS。

以下內容出自
http://tsuozoe.pixnet.net/blog/post/21283890-mysql-%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C%E8%AA%9E%E6%B3%95
net start mysql啟動 MySQL

查詢資料庫、資料表、欄位等資訊
mysqlshow [
-h ipAddress] -u user_name -pmysqlshow -u user_name@ipAddress -p
列出所有資料庫

mysqlshow -u user_name -p db_name列出該 database_name 所有資料表

mysqlshow -u user_name -p db_name table_name列出該 database_name 裡 table_name 資料表裡的欄位

mysqlshow -u user_name -p db_name table_name field_name
列出該 database_name 裡 table_name 的 field_name 的欄位資訊

更改密碼mysqladmin password 'new_password'更改目前系統登入使用者的密碼

於資料庫中導入執行sql script 檔
mysql db_name < sql_filename.sql
與 MySQL 連線
mysql [
-h ipAddress] -u user_name -ppasswordmysql [-h ipAddress] -u user_name -p

切換使用資料庫 database_name
mysql> USE db_name
mysql> SELECT DATABASE();列出目前預設的資料庫名稱

mysql> SHOW DATABASES;
列出所有資料庫

mysql> SHOW DATABASES LIKE 'my%';
列出所有資料庫名稱為 my 開頭的

mysql> SHOW TABLES FROM db_name [LIKE ...];
列出該資料庫所有資料表名稱

mysql> SHOW COLUMNS FROM table_name [LIKE ...];
mysql> SHOW COLUMNS FROM table_name FROM db_name  [LIKE ...];mysql> SHOW FIELDS FROM table_name [LIKE ...];
mysql> DESCRIBE table_name ;
mysql> EXPLAIN table_name ;
列出該資料表所有欄位名稱

mysql> SHOW INDEX FROM table_name [LIKE ...];
mysql> SHOW INDEX FROM table_name FROM db_name  [LIKE ...];mysql> SHOW KEY FROM table_name [LIKE ...];
列出該資料表所有索引資訊

mysql> SHOW TABLE STATUS;mysql> SHOW TABLE STATUS FROM db_name  [LIKE ...];列出資料表的相關資訊

mysql> SHOW VARIABLES [LIKE ...];
顯示 MySQL 相關參數設定

mysql> SHOW VARIABLES LIKE '%character%' ;顯示資料庫語系設定資訊

mysql> SHOW PROCESSLIST;
列出與 MySQL 連線的 threads 狀態

mysql> SHOW STATUS;
列出與 MySQL 目前的狀態

當進行資料表檢查或修補時,鎖定資料表可確保資料表的安全
(READ:唯讀狀態、WRITE:無法寫入也無法讀取)
mysql> LOCK TABLE table_name READ;mysql> FLUSH TABLES;
鎖定資料表 

mysql> UNLOCK TABLE;
資料表解除鎖定 

沒有留言:

張貼留言

苗栗縣研習直播-youtube直播補充使用說明-取得直播連結

Step1 建立直播影片 Step2 設定直播時間排程,設定後點選"建立直播" Step3 於直播設定畫面,點選畫面右上角"分享"圖示,如下圖,將取得之網址連結隨研習公文或研習公告附上。