久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL如何管理與配置

156次閱讀
沒有評論

共計 7684 個字符,預計需要花費 20 分鐘才能閱讀完成。

這篇文章主要介紹 MySQL 如何管理與配置,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

mysqladmin [OPTIONS] command command….

    下面是一些比較有用的命令:

status         返回服務器狀態信息
password     修改用戶口令
shutdown     關閉 MySQL 服務器
reload         重載 MySQL 授權表
refresh         重置所有高速緩存和日志
variables     返回所有服務器變量值
version         返回服務器版本
processlist     返回服務器上所有進程的列表
kill         取消一個服務器進程
ping         測試服務器是否在活動狀態

[@more@]
1. 啟動和關閉服務器

   Windows 環境中,MySQL 可以在后臺作為一個服務來啟動:

D:Program FilesMySQLMySQL Server 5.1bin net start mysql
MySQL 服務正在啟動 .
MySQL 服務已經啟動成功。

D:Program FilesMySQLMySQL Server 5.1bin mysqladmin -u root -p ping
Enter password: ****
mysqld is alive

    而關閉服務器,可以使用 mysqladmin 的 shutdown 命令:

D:Program FilesMySQLMySQL Server 5.1bin mysqladmin -u root -p shutdown
Enter password: ****

D:Program FilesMySQLMySQL Server 5.1bin mysqladmin -u root -p ping
Enter password: ****
mysqladmin: connect to server at localhost failed
error: Can t connect to MySQL server on localhost (10061)
Check that mysqld is running on localhost and that the port is 3306.
You can check this by doing telnet localhost 3306

2. 檢查 MySQL 服務器狀態

    使用 mysqladmin 的 status 命令可以查看服務器的當前狀態:

D:Program FilesMySQLMySQL Server 5.1bin mysqladmin -u root -p status
Enter password: ****
Uptime: 770  Threads: 1  Questions: 8  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8
Queries per second avg: 0.10

    輸出結果各列的含義如下:

Uptime                   MySQL 服務器已經運行的秒數
Threads                   活躍線程(客戶)的數量  
Questions                 從 mysqld 啟動起來自客戶問題的數量  
Slow queries             已經超過 long_query_time 秒的查詢數量  
Opens                    mysqld 已經打開了多少表  
Flush tables             flush …, refresh 和 reload 命令數量  
Open tables               現在被打開的表數量

    而 version 命令,可以輸出服務器版本等更為詳細的信息:

D:Program FilesMySQLMySQL Server 5.1bin mysqladmin -u root -p version
Enter password: ****
mysqladmin  Ver 8.42 Distrib 5.1.34, for Win32 on ia32
Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version          5.1.34-community
Protocol version        10
Connection              localhost via TCP/IP
TCP port                3306
Uptime:                 17 min 42 sec

Threads: 1  Questions: 9  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per s
econd avg: 0.8

    還可以使用 extended-status 命令或 mysql 命令行的 show status 命令得到擴展的狀態信息。

3. 管理 MySQL 客戶機進程

    使用 mysqladmin 的 processlist 命令,或 mysql 命令行的 show processlist 命令,可以獲得連接到服務器上所有客戶機進程的列表:

D:Program FilesMySQLMySQL Server 5.1bin mysqladmin -u root -p processlist
Enter password: ****
+—-+——+—————-+—-+———+——+——-+——————+
| Id | User | Host           | db | Command | Time | State | Info             |
+—-+——+—————-+—-+———+——+——-+——————+
| 6  | root | localhost:1612 |    | Query   | 0    |       | show processlist |
+—-+——+—————-+—-+———+——+——-+——————+

    然后可以用 mysqladmin 的 kill 命令,或 mysql 命令行的 kill 命令中止進程。

D:Program FilesMySQLMySQL Server 5.1bin mysqladmin -u root -p processlist
Enter password: ****
+—-+——+—————-+—-+———+——+——-+——————+
| Id | User | Host           | db | Command | Time | State | Info             |
+—-+——+—————-+—-+———+——+——-+——————+
| 7  | root | localhost:1616 |    | Sleep   | 7    |       |                  |
| 8  | root | localhost:1617 |    | Query   | 0    |       | show processlist |
+—-+——+—————-+—-+———+——+——-+——————+

D:Program FilesMySQLMySQL Server 5.1bin mysqladmin -u root -p kill 7
Enter password: ****

D:Program FilesMySQLMySQL Server 5.1bin

4. 修改服務器配置

 1)使用選項文件

    選項文件的名稱和位置:

   Windows 下,選項文件名為 my.cnf 或 my.ini。位置為,%WINDIR%;C:;MySQL 安裝目錄,如 D:Program FilesMySQLMySQL Server 5.1;用 –defaults-extra-file=path 指定的文件。
   Unix 下,選項文件名為 my.cnf。位置為,/etc;$MYSQL_HOME/;用 –defaults-extra-file=path 指定的文件;~/.my.cnf。
    詳細說明可查閱 MySQL 參考手冊。

   MySQL 的各種程序可以從相同的選項文件讀取選項,文件中選項劃分成不同的組,如 [client]、[mysql]、[mysqld] 等等。例如,進行如下修改:

[client]

port=3306

# Added by yuegao Jul 7, 2009
user=root
password=pccw

    那么客戶機連接服務器時,就可以使用默認的用戶名和口令:

D:Program FilesMySQLMySQL Server 5.1bin mysql
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 13
Server version: 5.1.34-community MySQL Community Server (GPL)

Type help; or h for help. Type c to clear the current input statement.

mysql select user();
+—————-+
| user()         |
+—————-+
| root@localhost |
+—————-+
1 row in set (0.03 sec)

mysql exit
Bye

D:Program FilesMySQLMySQL Server 5.1bin mysqladmin status
Uptime: 3044  Threads: 1  Questions: 24  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables:
 Queries per second avg: 0.7

    類似地,可以通過設置 [mysql] 和[mysqld]中的選項,修改服務器進程的配置。
    下面是一些配置 MySQL 比較常用的選項:

ansi             使用標準 (ANSI)SQL 語法代替 MySQL 語法。
basedir            MySQL 安裝目錄的路徑。通常所有路徑根據該路徑來解析。
datadir             數據目錄的路徑。
debug             如果 MySQL 配置了 –with-debug,你可以使用該選項來獲得一個跟蹤文件,跟蹤 mysqld 正進行的操作。
default-character-set     設置默認字符集。
default-table-type     設置表的默認類型。
flush             執行 SQL 語句后向硬盤上寫更改。
init-file         啟動時從該文件讀 SQL 語句。每個語句必須在同一行中并且不應包括注釋。
language         用給定語言給出客戶端錯誤消息。
log             指定記錄 MySQL 信息的日志文件。
log-error         指定記錄錯誤信息的日志文件。
log-warnings         在記錄錯誤信息的日志文件中記錄警告信息。
log-slow-queries     將所有執行時間超過 long_query_time 秒的查詢記入日志文件。
log-bin             指定二進制日志文件。將更改數據的所有查詢記入該文件。
port             偵聽 TCP/IP 連接時使用的端口號。
skip-bdb         禁用 BDB 存儲引擎。這樣可以節省內存,并可能加速某些操作。
skip-innodb         禁用 InnoDB 存儲引擎。這樣可以節省內存,并可能加速某些操作。
skip-grant-tables     該選項使服務器不使用權限系統。該權限允許訪問服務器的用戶不受限制地訪問所有數據庫。
skip-networking         不幀聽 TCP/IP 連接。必須通過命名管道或共享內存(在 Windows 中) 或 Unix 套接字文件 (在 Unix 中) 完成 mysqld 的相互操作。
socket            Windows 中,該選項指定本地連接所使用的管道名,默認值是 MySQL;Unix 中,該選項指定用于本地連接的 Unix 套接字文件,默認值是 /tmp/mysql.sock。
transaction-isolation     設置默認事務隔離級別。
user             運行服務器的用戶,可以通過用戶名或者用戶 ID 指定。
tmpdir             創建臨時文件的目錄路徑。

    所有的選項都可以在服務器進程啟動時指定(在前面加上“–”),這樣指定的選項優先級高于選項文件中選項,更多選項及詳細說明可查閱 MySQL 參考手冊。

 2)使用 SET 命令

    服務器運行時,可以使用 SET 命令設置環境變量。例如:

mysql set table_type = innodb;
Query OK, 0 rows affected, 1 warning (0.05 sec)

    可以使用 GLOBAL 或 SESSION 關鍵字,指定進行全局設置(所有會話)或會話級設置(當前會話)。

mysql set global table_type = innodb;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql set session table_type = innodb;
Query OK, 0 rows affected, 1 warning (0.00 sec)

    使用 GLOBAL 關鍵字需要具有 SUPER 權限。
    下面是一些比較重要的服務器變量:

autocommit        SESSION             是否打開自動提交模式。
key_buffer_size        GLOBAL            MyISAM 表的索引塊分配了緩沖區,由所有線程共享。key_buffer_size 是索引塊緩沖區的大小。鍵值緩沖區即為鍵值緩存。
table_cache        GLOBAL             所有線程打開的表的數目。
table_type        GLOBAL | SESSION     默認表類型(存儲引擎)。
concurrent_insert    GLOBAL             是否允許 INSERT 和 SELECT 語句在中間沒有空數據塊的 MyISAM 表中并行運行。
interactive_timeout    GLOBAL | SESSION     服務器關閉交互式連接前等待活動的秒數。
lower_case_table_names    GLOBAL | SESSION     是否將表名保存為小寫形式。
sort_buffer_size    GLOBAL | SESSION     每個排序線程分配的緩沖區的大小。
read_buffer_size    GLOBAL | SESSION     每個線程連續掃描時為掃描的每個表分配的緩沖區的大小(字節)。
max_binlog_size        GLOBAL             如果二進制日志寫入的內容超出給定值,日志就會發生滾動。不能將該變量設置為大于 1GB 或小于 4096 字節。默認值是 1GB。
max_connections        GLOBAL             允許的并行客戶端連接數目。增大該值則增加 mysqld 需要的文件描述符的數量。
max_user_connections    GLOBAL             任何給定的 MySQL 賬戶允許的最大同時連接數。0 值表示“沒有限制”。
max_tmp_tables        GLOBAL | SESSION     客戶端可以同時打開的臨時表的最大數。(但該選項還未生效。)
query_cache_type    GLOBAL | SESSION     設置查詢緩存類型。
query_cache_size    GLOBAL             為緩存查詢結果分配的內存的數量。默認值是 0,即禁用查詢緩存。即使 query_cache_type 設置為 0 也將分配此數量的內存。
tx_isolation        GLOBAL | SESSION     默認事務隔離級別。默認值為 REPEATABLE-READ。

 3)檢索變量值

    可以使用 mysqladmin 的 variables 命令,或 mysql 命令行的 show variables 命令查看服務器變量的值。
   LIKE 關鍵字可以對 show variables 的輸出進行限制:

mysql show variables like %cache_size%
+———————–+————+
| Variable_name         | Value      |
+———————–+————+
| binlog_cache_size     | 32768      |
| max_binlog_cache_size | 4294963200 |
| query_cache_size      | 15728640   |
| thread_cache_size     | 8          |
+———————–+————+
4 rows in set (0.00 sec)

    而 mysqladmin variables 的輸出則可以用操作系統命令 find(Windows)、grep(Unix)等達到類似的效果:

D:Program FilesMySQLMySQL Server 5.1bin mysqladmin variables | find cache_size
| binlog_cache_size               | 32768
                         |
| max_binlog_cache_size           | 4294963200
                         |
| query_cache_size                | 15728640
                         |
| thread_cache_size               | 8
                         |

    此外,還可以 SELECT @@variable 語句獲取單個變量的值。

mysql select @@log_error;
+————————————+
| @@log_error                        |
+————————————+
| E:MySQL DatafilesDatayuegao.err |
+————————————+
1 row in set (0.00 sec)

5. 使用錯誤日志排錯

    錯誤日志里保存了服務器啟動和關閉過程的記錄,關鍵的錯誤和受損表的警告等重要信息。
    可以通過上面的例子中的方法確定錯誤日志的位置。

以上是“MySQL 如何管理與配置”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-26發表,共計7684字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 定襄县| 邓州市| 任丘市| 治多县| 容城县| 兴山县| 阜康市| 门头沟区| 台前县| 钦州市| 清水河县| 蓬溪县| 韶山市| 利川市| 聊城市| 卓资县| 加查县| 怀集县| 齐齐哈尔市| 台安县| 习水县| 鄂尔多斯市| 永川市| 油尖旺区| 南安市| 大埔区| 喀什市| 南丰县| 泸定县| 新疆| 江都市| 筠连县| 高雄市| 教育| 鄂伦春自治旗| 辽阳市| 霍州市| 岗巴县| 南汇区| 南皮县| 和政县|