MySQL Utilities串連MySQL伺服器教程

來源:互聯網
上載者:User

串連參數

串連到一個伺服器,必須指定串連參數,如使用者名稱,主機名稱,密碼,連接埠號碼,socket。MySQL Utilities提供了三種提供這些參數的方法,這些方法都需要通過命令列指定。

    使用.mylogin.cnf檔案(加密的,不可見的)。如:<login-path>[:<port>][:<socket>]
    使用設定檔(未加密的,不可見的)。只適用於1.5.0以上版本。如:<configuration-file-path>[:<section>]
    在命令列指定(未加密的,可見的)。如: <user>[:<passwd>]@<host>[:<port>][:<socket>]

使用login-paths(.mylogin.cnf)

使用該方法串連資料庫是最好的。不僅是檔案加密的,而且任何執行的記錄不會暴露串連資訊。因此,日誌中使用者名稱、密碼、連接埠等資訊是不可見的。這是使用MySQL Utilities工具串連資料庫的首選方法。

注意:MySQL Utilities1.2.1以及以後版本支援login-paths方法。

串連的字串格式為: login-path-name[:port][:socket]。其中port、socket是可選的參數。如果指定,將覆蓋login-path中定義的。

當使用login-paths時,除了Posix系統沒有預設值,當指定通訊端時。在這種情況下,host選項預設值是localhost。這就意味著,結合login-path指定值有兩個可選值port和socket選擇,至少需要指定一個使用者名稱、一個主機名稱、一個port或一個socket。

使用mysql_config_editor工具添加如下串連資訊:

 代碼如下 複製代碼
# cd /usr/local/mysql5.6/
# ./bin/mysql_config_editor set --login-path=instance_3366 --host=localhost --user=root --port=3366 --password
Enter password:


將會在家目錄下建立一個隱藏的加密檔案.mylogin.cnf。

查看.mylogin.cnf 內容:

 代碼如下 複製代碼
# ./bin/mysql_config_editor print --login-path=instance_3366
[instance_3366]
user = root
password = *****
host = localhost
port = 3366


一旦配置了.mylogin.cnf檔案,就只需要指定.mylogin.cnf檔案中的伺服器段進行串連。如,在前面的樣本中建立了“instance_3366”服務段。因此,我們可以使用–server=instance_3366。如下所示指定部分的登入路徑:
# mysqlserverinfo --server=instance_3366 --format=vertical

也可以自訂,如下:

 代碼如下 複製代碼
# mysqlserverinfo --server=root:@localhost:3366:/tmp/mysql3366.sock  --format=vertical
WARNING: Using a password on the command line interface can be insecure.
# Source on localhost: ... connected.
*************************       1. row *************************
                   server: localhost:3366
              config_file: /usr/local/mysql5.6/my.cnf, ./my.cnf
               binary_log: master-bin.000003
           binary_log_pos: 151
                relay_log:
            relay_log_pos:
                  version: 5.6.16-log
                  datadir: /usr/local/mysql5.6/data/
                  basedir: /usr/local/mysql5.6
               plugin_dir: /usr/local/mysql5.6/lib/plugin/
              general_log: OFF
         general_log_file:
    general_log_file_size:
                log_error: /usr/local/mysql5.6/data/localhost.err
      log_error_file_size: 2238 bytes
           slow_query_log: OFF
      slow_query_log_file:
 slow_query_log_file_size:
1 row.
#...done.


 使用設定檔


MySQL Utilities也可以接受伺服器串連資料的配置路徑和段。這就允許你儲存的一個或多個部分的串連資訊。將資料儲存在設定檔中比在命令列指定安全,但是,該檔案是個文字檔,只有能訪問到該檔案,任何人可讀的。

 代碼如下 複製代碼
my.cnf串連段如下所示:
# vim my.cnf
[client]
port  = 3366
socket  = /tmp/mysql3366.sock
user=root



使用設定檔:

 代碼如下 複製代碼
# mysqlserverinfo --server=/usr/local/mysql5.6/my.cnf[client] --format=vertical
# Source on localhost: ... connected.
*************************       1. row *************************
                   server: localhost:3366
              config_file: /usr/local/mysql5.6/my.cnf, ./my.cnf
               binary_log: master-bin.000003
           binary_log_pos: 151
                relay_log:
            relay_log_pos:
                  version: 5.6.16-log
                  datadir: /usr/local/mysql5.6/data/
                  basedir: /usr/local/mysql5.6
               plugin_dir: /usr/local/mysql5.6/lib/plugin/
              general_log: OFF
         general_log_file:
    general_log_file_size:
                log_error: /usr/local/mysql5.6/data/localhost.err
      log_error_file_size: 2238 bytes
           slow_query_log: OFF
      slow_query_log_file:
 slow_query_log_file_size:
1 row.
#...done.


使用命令列

通過命令列參數指定串連伺服器資訊,這種方式是最不安全的,資料在命令列可見,在記錄檔中亦是可見的。

這種方式下,指定參數的順序為:<user>[:<passwd>]@<host>[:<port>][:<socket>] 。方括弧代表是可選的參數。

執行個體參見上面的。
在Python庫中定義

如果使用MySQL Utilities庫檔案來建立自己的工具,你會遇到各種各樣的串連方式。

可選的方法有:

    一個含有串連參數的Python字典.
    一個含有串連參數的字串.
    指定一個伺服器執行個體.

字典格式如下:

 代碼如下 複製代碼
# Set connection values
dest_values = {
    "user" : "root",
    "passwd" : "secret",
    "host" : "localhost",
    "port" : 3308,
    "unix_socket" : None,
}

字串格式為:

 代碼如下 複製代碼
<user>[:<passwd>]@<host>[:<port>][:<socket>]

中括弧是選擇性參數。

該連接字串通過使用options.parse_connection函數進行解析。

也可以指定伺服器類的一個執行個體,在這種情況下,新類將複製這些串連資訊。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.