加入收藏 | 设为首页 | 会员中心 | 我要投稿 梧州站长网 (https://www.0774zz.cn/)- 云原生、分布式云、媒体处理、业务安全、数据可视化!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL Utilities连接MySQL服务器教程

发布时间:2022-07-01 10:25:33 所属栏目:MySql教程 来源:互联网
导读:上一节教程我们讲了MySQL管理工具MySQL Utilities的介绍及安装,本教程我们来讲解如何通过MySQL Utilities或MySQL Utilities库方法连接到MySQL服务器. 连接参数:连接到一个服务器,必须指定连接参数,如用户名,主机名称,密码,端口号,socket,MySQL Utilities提供
  上一节教程我们讲了MySQL管理工具MySQL Utilities的介绍及安装,本教程我们来讲解如何通过MySQL Utilities或MySQL Utilities库方法连接到MySQL服务器.
 
  连接参数:连接到一个服务器,必须指定连接参数,如用户名,主机名称,密码,端口号,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]  --phpfensi.com
  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 --phpfensi.com
           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函数进行解析,也可以指定服务器类的一个实例,在这种情况下,新类将复制这些连接信息.
 
 

(编辑:梧州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读