MySQL管理工具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工具添加如下连接信息:

1

2

3

# 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 内容:

1

2

3

4

5

6

# ./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。如下所示指定部分的登录路径:

1

# mysqlserverinfo --server=instance_3366 --format=vertical

也可以自定义,如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

# 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连接段如下所示:

1

2

3

4

5

# vim my.cnf

[client]

port  = 3366

socket  = /tmp/mysql3366.sock

user=root

使用配置文件:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

# 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字典.
  • 一个含有连接参数的字符串.
  • 指定一个服务器实例.

字典格式如下:

1

2

3

4

5

6

7

8

# Set connection values

dest_values = {

    "user" : "root",

    "passwd" : "secret",

    "host" : "localhost",

    "port" : 3308,

    "unix_socket" : None,

}

字符串格式为:

<user>[:<passwd>]@<host>[:<port>][:<socket>]

中括号是可选参数。

该连接字符串通过使用options.parse_connection函数进行解析。

也可以指定服务器类的一个实例,在这种情况下,新类将复制这些连接信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/535326.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MHA高可用

manager 组件 masterha_manger # 启动MHA masterha_check_ssh # 检查MHA的SSH配置状况 masterha_check_repl # 检查MySQL复制状况&#xff0c;配置信息 masterha_master_monitor # 检测master是否宕机 masterha_check_status # 检测当…

MySQL Replication需要注意的问题

主库意外宕机 如果没有设置主库的sync_binlog选项&#xff0c;就可能在奔溃前没有将最后的几个二进制日志事件刷新到磁盘中。备库I/O线程因此也可一直处于读不到尚未写入磁盘的事件的状态中。当主库从新启动时&#xff0c;备库将重连到主库并再次尝试去读该事件&#xff0c;但…

update和delete操作忘加where条件导致全表更新的处理方法

在数据库日常维护中&#xff0c;开发人员是最让人头痛的&#xff0c;很多时候都会由于SQL语句写的有问题导致服务器出问题&#xff0c;导致资源耗尽。最危险的操作就是在做DML操作的时候忘加where条件&#xff0c;导致全表更新&#xff0c;这是作为运维或者DBA的我们改如何处理…

Innodb结构

从MySQL5.5版本开始默认使用InnoDB作为引擎&#xff0c;它擅长处理事务&#xff0c;具有自动崩满恢复的特性&#xff0c;在日常开发中使用非常广泛&#xff0c;下面是言方的InnoDB引擎美构图&#xff0c;主要分为内存结构和磁盘结构两大部分。 内存结构主要包括Buffer Pool、C…

ES备份工具elasticdump

安装 下载node下载 | Node.js 中文网 tar xvf node-v16.5.0-linux-x64.tar.xz ln -s /app/temp/node-v16.5.0-linux-x64/bin/node /usr/bin/node ln -s /app/temp/node-v16.5.0-linux-x64/bin/npm /usr/bin/npm npm install elasticdump -g npm config get cache npm in…

innodb_flush_method理解【转】

innodb_flush_method这个参数控制着innodb数据文件及redo log的打开、刷写模式&#xff0c;对于这个参数&#xff0c;文档上是这样描述的&#xff1a; 有三个值&#xff1a;fdatasync(默认)&#xff0c;O_DSYNC&#xff0c;O_DIRECT 默认是fdatasync&#xff0c;调用fsync()去…

linux下的/dev/shm/

首先可以看出来/dev/shm是一个设备文件, 可以把/dev/shm看作是系统内存的入口, 可以把它看做是一块物理存储设备&#xff0c;一个tmp filesystem, 你可以通过这个设备向内存中读写文件, 以加快某些I/O高的操作&#xff0c;比如对一个大型文件频繁的open, write, read&#xff0…

2021-07-30

1.服务器级别的锁等待 可以通过show processlist看到等待锁的线程id&#xff0c;但是无法知道究竟哪个线程持有锁 可以通过mysqladmin debug 相关等待锁的线程以及谁持有锁可以在错误日志中找到 2.存储引擎层的锁等待则比较麻烦&#xff0c;以下是innodb存储引擎中锁等待以及…

getopt设计shell脚本选项

写shell脚本的时候&#xff0c;通过while、case、shift来设计脚本的命令行选项是一件比较麻烦的事&#xff0c;因为Unix命令行的选项和参数自由度很高&#xff0c;支持短选项和长选项&#xff0c;参数可能是可选的&#xff0c;选项顺序可能是无所谓的&#xff0c;等等。 bash下…

percona-toolkit---pt-heartbeat

对于MySQL数据库主从复制延迟的监控&#xff0c;可以借助percona的有力武器pt-heartbeat来实现。 pt-heartbeat的工作原理通过使用时间戳方式在主库上更新特定表&#xff0c;然后在从库上读取被更新的时间戳然后与本地系统时间对比来得出其延迟。具体流程&#xff1a; 1&…

定时删除脚本

#!/bin/sh backup_dir/data/xtrabackup DATEdate %Y-%m-%d #DATE_NOWdate %Y-%m-%d.%H%M DATE_NOWdate %Y-%m-%d PATH/usr/local/mysql/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin export PATHbinog保留7天 binlog/data/binlogserver binlog_Rtime7#备…

percona-toolkit--pt-table-checksum

pt-table-checksum 是 Percona-Toolkit的组件之一&#xff0c;用于检测MySQL主、从库的数据是否一致。其原理是在主库执行基于statement的sql语句来生成主库数据块的checksum&#xff0c;把相同的sql语句传递到从库执行&#xff0c;并在从库上计算相同数据块的checksum&#xf…

Docker容器间网络通信

自从Docker容器出现以来&#xff0c;容器网络通信就一直是被关注的焦点&#xff0c;也是生产环境的迫切需求。容器网络通信又分为两大方面&#xff1a;单主机容器上的相互通信&#xff0c;和跨主机的容器相互通信。 一、Docker单主机容器通信 基于对net namespace的控制&#…

Docker容器的重启策略

1. Docker容器的重启策略 Docker容器的重启策略是面向生产环境的一个启动策略&#xff0c;在开发过程中可以忽略该策略。 Docker容器的重启都是由Docker守护进程完成的&#xff0c;因此与守护进程息息相关。 Docker容器的重启策略如下&#xff1a; no&#xff0c;默认策略&…

innobackupex实现导出和导入单张表

默认情况下&#xff0c;InnoDB表不能通过直接复制表文件的方式在mysql服务器之间进行移植&#xff0c;即便使用了innodb_file_per_table选项。而使用Xtrabackup工具可以实现此种功能&#xff0c;不过只能"导出"具有.ibd文件的表&#xff0c;也就是说导出表的mysql服务…

xtrabackup工具

(1).备份过程 和innobackupex备份过程不同的是&#xff0c;xtrabackup的备份路径是由"--target-dir"选项严格指定的&#xff0c;如果指定的目录不存在&#xff0c;它备份的时候不会在target-dir目录中再创建时间戳子目录。 [rootxuexi data]# xtrabackup --backup …

mysql数据库参数

注意&#xff1a;在配置binlog相关变量的时候&#xff0c;相关变量名总是搞混&#xff0c;因为有的是binlog&#xff0c;有的是log_bin&#xff0c;当他们分开的时候&#xff0c;log在前&#xff0c;当它们一起的时候&#xff0c;bin在前。在配置文件中也同样如此。 log_bin …

oracle命令行安装

cd /home/oracle/databases/runInstaller -silent -force -showprogress -responseFile /home/oracle/database/db_install.rsp -ignoreSysPrereqs -ignorePrereqdbca -silent -responseFile pwd/dbca.rspnetca -silent -responseFile /home/oracle/databases/netca.rsp

定期删除数据脚本

#!/bin/sh backup_dir/data/xtrabackup DATEdate %Y-%m-%d #DATE_NOWdate %Y-%m-%d.%H%M DATE_NOWdate %Y-%m-%d PATH/usr/local/mysql/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin export PATH#binog保留7天 binlog/data/binlogserver binlog_Rtime7#备…

定期备份数据库脚本

#!/bin/bash MasterIp* USERroot PORT3306 PASSWD000000 DATEdate %Y-%m-%d #DATE_NOWdate %Y-%m-%d.%H%M DATE_NOWdate %Y-%m-%d OLDDATEdate %Y-%m-%d -d "30 days ago"  #全表备份 BACKUPDIR/data/mysql_backup/fulltable #单表tb_trcevt备份 datapath/data/mysq…