mysqlknife 2.0.3 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +13 -8
- data/lib/mysqlknife.rb +1 -0
- data/lib/mysqlknife/cli.rb +16 -18
- data/lib/mysqlknife/command.rb +4 -0
- data/lib/mysqlknife/configs.rb +11 -26
- data/lib/mysqlknife/log.rb +4 -0
- data/lib/mysqlknife/mysql.rb +12 -7
- data/lib/mysqlknife/mysql/command.rb +41 -22
- data/lib/mysqlknife/mysql/kill.rb +14 -12
- data/lib/mysqlknife/mysql/sql.rb +2 -2
- data/lib/mysqlknife/parameters.rb +3 -56
- data/lib/mysqlknife/version.rb +1 -1
- metadata +42 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8a227c29e05ee08b25b08ee67a49d8aa2847476
|
4
|
+
data.tar.gz: f7c3d9d1d50f42bf270f804f6d96490a4135ea82
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7347d4ae6a745b67794a5d572f653e9009a3a9b5ff22bc8d6020291551823ccecee0bb81a27939233d3bd289e6f7108c7e83b26fb7ea2ecfbb1cee14de2043c1
|
7
|
+
data.tar.gz: 31b9577b70192c5c82b826f81f7faf88e8c587ecd83b3240cd7f8852f02597dc009dfa6ef01e2206758c17a2cd3359b0b3813cdb5c3e7a8fe12ed06237545e0f
|
data/README.md
CHANGED
@@ -1,28 +1,33 @@
|
|
1
|
-
# Mysqlknife
|
1
|
+
# Mysqlknife [](https://travis-ci.org/swapbytes/mysqlknife)
|
2
2
|
|
3
3
|
MySQL Knife is a Ruby Gem and command line tools, written for MAC OS because use
|
4
|
-
iTerm2 to set colors. That allows many tasks in MySQL Administration
|
5
|
-
normal installation (MySQL) or in Amazon RDS. You can:
|
4
|
+
iTerm2 to set tab colors on terminal. That allows many tasks in MySQL Administration
|
5
|
+
is easily for normal installation (MySQL) or in Amazon RDS. You can:
|
6
6
|
|
7
|
-
-
|
7
|
+
- Connections bookmark.
|
8
|
+
- Run command on connection.
|
8
9
|
- Skip error is slave.
|
9
10
|
- Kill process.
|
10
11
|
|
12
|
+

|
13
|
+
|
11
14
|
## Installation
|
12
15
|
|
13
16
|
Install this tool executing the following command:
|
14
17
|
|
15
|
-
```
|
18
|
+
```bash
|
16
19
|
$ gem install mysqlknife
|
17
20
|
```
|
18
21
|
|
19
22
|
## Configuration:
|
20
23
|
|
21
|
-
|
22
|
-
|
24
|
+
Create this file in yours home directory:
|
25
|
+
|
26
|
+
```bash
|
27
|
+
$ vim ~/.db.yml
|
23
28
|
```
|
24
29
|
|
25
|
-
|
30
|
+
Put this lines into file:
|
26
31
|
|
27
32
|
```
|
28
33
|
ssh:
|
data/lib/mysqlknife.rb
CHANGED
data/lib/mysqlknife/cli.rb
CHANGED
@@ -23,19 +23,19 @@ module Mysqlknife
|
|
23
23
|
@parameters.connection_details
|
24
24
|
end
|
25
25
|
|
26
|
-
desc 'console [CONFIG] [
|
26
|
+
desc 'console [CONFIG] [DATABASE]', 'Connect to specific CONNECTION.'
|
27
27
|
option :execute,
|
28
28
|
desc: 'Execute query.',
|
29
29
|
type: :string,
|
30
30
|
aliases: :e
|
31
|
-
def console(conn = nil,
|
31
|
+
def console(conn = nil, database = nil)
|
32
32
|
@parameters.connection = conn
|
33
|
-
@parameters.
|
33
|
+
@parameters.database = database
|
34
34
|
@parameters.connections
|
35
35
|
@parameters.hosts
|
36
36
|
|
37
37
|
if @parameters.host_selected
|
38
|
-
@config.
|
38
|
+
@config.connection(conn)
|
39
39
|
@config.mysql_host = @parameters.host
|
40
40
|
@config.mysql_database = database
|
41
41
|
|
@@ -43,7 +43,7 @@ module Mysqlknife
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
desc 'lag [CONFIG]
|
46
|
+
desc 'lag [CONFIG]', 'Show replica lag status.'
|
47
47
|
def lag(conn = nil, host = nil)
|
48
48
|
@parameters.connection = conn
|
49
49
|
@parameters.host = host
|
@@ -51,14 +51,14 @@ module Mysqlknife
|
|
51
51
|
@parameters.slaves
|
52
52
|
|
53
53
|
if @parameters.slave_selected
|
54
|
-
@config.
|
54
|
+
@config.connection(conn)
|
55
55
|
@config.mysql_host = @parameters.host
|
56
56
|
|
57
57
|
@command.execute(@mysql_cmd.console(@mysql_sql.replica_lag))
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
61
|
-
desc 'describe [CONFIG] [
|
61
|
+
desc 'describe [CONFIG] [DATABASE] [TABLE]', 'Describe database, table, keys details.'
|
62
62
|
def describe(conn = nil, host = nil, database = nil, table = nil)
|
63
63
|
@parameters.connection = conn
|
64
64
|
@parameters.host = host
|
@@ -66,36 +66,34 @@ module Mysqlknife
|
|
66
66
|
@parameters.hosts
|
67
67
|
|
68
68
|
if @parameters.host_selected
|
69
|
-
@config.
|
69
|
+
@config.connection(conn)
|
70
70
|
@config.mysql_host = @parameters.host
|
71
71
|
|
72
72
|
@command.execute(@mysql_cmd.describe(database, table))
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
|
-
desc 'command [CONFIG] [
|
77
|
-
def command(conn = nil,
|
76
|
+
desc 'command [CONFIG] [TOOL]', 'Execute specific command line.'
|
77
|
+
def command(conn = nil, tool = nil)
|
78
78
|
@parameters.connection = conn
|
79
|
-
@parameters.host = host
|
80
79
|
@parameters.tool = tool
|
81
80
|
@parameters.connections
|
82
|
-
@parameters.hosts
|
83
81
|
@parameters.tools
|
84
82
|
|
85
83
|
if @parameters.tool_selected
|
86
|
-
@config.
|
84
|
+
@config.connection(conn)
|
87
85
|
@config.mysql_host = @parameters.host
|
88
86
|
|
89
87
|
@command.execute(@mysql_cmd.parse(@parameters.tool))
|
90
88
|
end
|
91
89
|
end
|
92
90
|
|
93
|
-
desc 'kill [CONFIG]
|
91
|
+
desc 'kill [CONFIG]', 'Kill process in MySQL or RDS'
|
94
92
|
long_desc <<-LONGDESC
|
95
93
|
Syntax:
|
96
94
|
This action no bypass to ssh.
|
97
95
|
|
98
|
-
mysqlknife kill [CONFIG]
|
96
|
+
mysqlknife kill [CONFIG] --where "user = 'foo' AND time >= 28800"
|
99
97
|
LONGDESC
|
100
98
|
option :where,
|
101
99
|
default: 'time >= 28800',
|
@@ -113,7 +111,7 @@ module Mysqlknife
|
|
113
111
|
@parameters.hosts
|
114
112
|
|
115
113
|
if @parameters.host_selected
|
116
|
-
@config.
|
114
|
+
@config.connection(conn)
|
117
115
|
@config.mysql_host = @parameters.host
|
118
116
|
|
119
117
|
@kill = Mysql::Kill.new
|
@@ -127,7 +125,7 @@ module Mysqlknife
|
|
127
125
|
end
|
128
126
|
end
|
129
127
|
|
130
|
-
desc 'skip [CONFIG]
|
128
|
+
desc 'skip [CONFIG]', 'Skipping the current replication error in Amazon RDS.'
|
131
129
|
def skip(conn = nil, host = nil)
|
132
130
|
@parameters.connection = conn
|
133
131
|
@parameters.host = host
|
@@ -135,7 +133,7 @@ module Mysqlknife
|
|
135
133
|
@parameters.slaves
|
136
134
|
|
137
135
|
if @parameters.slave_selected
|
138
|
-
@config.
|
136
|
+
@config.connection(conn)
|
139
137
|
@config.mysql_host = @parameters.host
|
140
138
|
|
141
139
|
@replica = Mysql::Replica.new
|
data/lib/mysqlknife/command.rb
CHANGED
data/lib/mysqlknife/configs.rb
CHANGED
@@ -21,7 +21,8 @@ module Mysqlknife
|
|
21
21
|
:mysql_username,
|
22
22
|
:mysql_password,
|
23
23
|
:mysql_port,
|
24
|
-
:mysql_database
|
24
|
+
:mysql_database,
|
25
|
+
:mysql_slave
|
25
26
|
|
26
27
|
def initialize
|
27
28
|
# Define path for config file:
|
@@ -35,7 +36,7 @@ module Mysqlknife
|
|
35
36
|
@configs = YAML.load_file(path) if File.exist?(path)
|
36
37
|
|
37
38
|
if @configs.nil?
|
38
|
-
puts "Not exist config file in #{path}
|
39
|
+
puts "Not exist config file in #{path}"
|
39
40
|
exit 1
|
40
41
|
end
|
41
42
|
|
@@ -64,30 +65,15 @@ module Mysqlknife
|
|
64
65
|
end
|
65
66
|
end
|
66
67
|
|
67
|
-
def
|
68
|
+
def connection(name)
|
68
69
|
@name = name
|
69
70
|
@ssh_color = db_color(name)
|
70
71
|
@ssh_use = db_ssh(name)
|
72
|
+
@mysql_host = db_host(name)
|
71
73
|
@mysql_port = db_port(name)
|
72
74
|
@mysql_username = db_username(name)
|
73
75
|
@mysql_password = db_password(name)
|
74
|
-
|
75
|
-
|
76
|
-
def slaves(name)
|
77
|
-
slaves = db_slaves(name)
|
78
|
-
|
79
|
-
if slaves.nil?
|
80
|
-
[]
|
81
|
-
else
|
82
|
-
slaves
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
def hosts(name)
|
87
|
-
hosts = []
|
88
|
-
hosts << db_host(name)
|
89
|
-
hosts.concat(slaves(name))
|
90
|
-
hosts.sort
|
76
|
+
@mysql_slave = db_slave(name)
|
91
77
|
end
|
92
78
|
|
93
79
|
def show(name)
|
@@ -95,11 +81,10 @@ module Mysqlknife
|
|
95
81
|
port = db_port(name)
|
96
82
|
username = db_username(name)
|
97
83
|
password = db_password(name)
|
98
|
-
|
99
|
-
slaves = slaves.join(', ') unless slaves.nil?
|
84
|
+
slave = db_slave(name)
|
100
85
|
|
101
86
|
%W[Master:\ #{host}
|
102
|
-
Slaves:\ #{
|
87
|
+
Slaves:\ #{slave}
|
103
88
|
Port:\ #{port}
|
104
89
|
Username:\ #{username}
|
105
90
|
Password:\ #{password}].join("\n")
|
@@ -114,9 +99,9 @@ module Mysqlknife
|
|
114
99
|
end
|
115
100
|
end
|
116
101
|
|
117
|
-
def tool(
|
118
|
-
unless db_tools(name).nil?
|
119
|
-
db_tools(name).select { |command| /#{tool}/.match(command.to_s) }.first
|
102
|
+
def tool(tool)
|
103
|
+
unless db_tools(@name).nil?
|
104
|
+
db_tools(@name).select { |command| /#{tool}/.match(command.to_s) }.first
|
120
105
|
end
|
121
106
|
end
|
122
107
|
end
|
data/lib/mysqlknife/log.rb
CHANGED
data/lib/mysqlknife/mysql.rb
CHANGED
@@ -7,15 +7,20 @@ module Mysqlknife
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def execute(sql)
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
if @cnf.ssh_use == false
|
11
|
+
conn = Mysql2::Client.new(host: @cnf.mysql_host,
|
12
|
+
port: @cnf.mysql_port,
|
13
|
+
username: @cnf.mysql_username,
|
14
|
+
password: @cnf.mysql_password,
|
15
|
+
database: @cnf.mysql_database)
|
15
16
|
|
16
|
-
|
17
|
+
Mysqlknife::Log.new.sql(sql)
|
17
18
|
|
18
|
-
|
19
|
+
return conn.query(sql)
|
20
|
+
else
|
21
|
+
Mysqlknife::Log.new.message("Can't to connect by direct connection, this host use SSH.")
|
22
|
+
exit(1)
|
23
|
+
end
|
19
24
|
rescue Mysql2::Error => error
|
20
25
|
Mysqlknife::Log.new.sql_error(error, sql)
|
21
26
|
exit(1)
|
@@ -7,9 +7,26 @@ module Mysqlknife
|
|
7
7
|
@cnf = Configs.instance
|
8
8
|
end
|
9
9
|
|
10
|
+
def connection(name)
|
11
|
+
@cnf.connection(name)
|
12
|
+
end
|
13
|
+
|
14
|
+
def host(host)
|
15
|
+
@cnf.mysql_host = host
|
16
|
+
end
|
17
|
+
|
18
|
+
def command?(name)
|
19
|
+
`which #{name}`
|
20
|
+
$?.success?
|
21
|
+
end
|
22
|
+
|
10
23
|
def check
|
11
|
-
|
12
|
-
|
24
|
+
command?('mysql')
|
25
|
+
command?('mysqlshow')
|
26
|
+
end
|
27
|
+
|
28
|
+
def purge(string)
|
29
|
+
string.squeeze(' ').strip
|
13
30
|
end
|
14
31
|
|
15
32
|
def parse(command)
|
@@ -17,8 +34,8 @@ module Mysqlknife
|
|
17
34
|
port = @cnf.mysql_port
|
18
35
|
username = @cnf.mysql_username
|
19
36
|
password = password(@cnf.mysql_password)
|
20
|
-
|
21
|
-
|
37
|
+
command = eval("\"#{command}\"")
|
38
|
+
purge(command)
|
22
39
|
end
|
23
40
|
|
24
41
|
def prompt
|
@@ -30,33 +47,35 @@ module Mysqlknife
|
|
30
47
|
end
|
31
48
|
|
32
49
|
def execute(sentence)
|
33
|
-
"--execute='#{sentence}'" unless sentence.nil?
|
50
|
+
"--execute='#{sentence}'" unless sentence.nil? || sentence.empty?
|
34
51
|
end
|
35
52
|
|
36
53
|
def password(password)
|
37
|
-
"-p#{password}" unless password.nil?
|
54
|
+
"-p#{password}" unless password.nil? || password.empty?
|
38
55
|
end
|
39
56
|
|
40
57
|
def console(sentence = nil)
|
41
|
-
%W[mysql
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
58
|
+
command = %W[mysql
|
59
|
+
-h #{@cnf.mysql_host}
|
60
|
+
-P #{@cnf.mysql_port}
|
61
|
+
-u #{@cnf.mysql_username}
|
62
|
+
#{password(@cnf.mysql_password)}
|
63
|
+
--prompt='#{prompt}[\\d]> '
|
64
|
+
#{@cnf.mysql_database}
|
65
|
+
#{execute(sentence)}
|
66
|
+
].join(' ')
|
67
|
+
purge(command)
|
50
68
|
end
|
51
69
|
|
52
70
|
def describe(*args)
|
53
|
-
%W[mysqlshow
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
71
|
+
command = %W[mysqlshow
|
72
|
+
-h #{@cnf.mysql_host}
|
73
|
+
-P #{@cnf.mysql_port}
|
74
|
+
-u #{@cnf.mysql_username}
|
75
|
+
#{password(@cnf.mysql_password)}
|
76
|
+
--keys
|
77
|
+
#{args.join(' ')}].join(' ')
|
78
|
+
purge(command)
|
60
79
|
end
|
61
80
|
end
|
62
81
|
end
|
@@ -11,10 +11,12 @@ module Mysqlknife
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def clear
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
14
|
+
if check_privileges
|
15
|
+
list.each do |process|
|
16
|
+
kill(process)
|
17
|
+
end
|
18
|
+
else
|
19
|
+
Mysqlknife::Log.new.message("Don't have privileges to kill process")
|
18
20
|
end
|
19
21
|
end
|
20
22
|
|
@@ -27,7 +29,7 @@ module Mysqlknife
|
|
27
29
|
|
28
30
|
def check_grants
|
29
31
|
sql = @mysql_sql.current_user_grants
|
30
|
-
result = @mysql.execute(sql).first.values.to_s =~ /PROCESS/
|
32
|
+
result = @mysql.execute(sql).first.values.to_s =~ /(PROCESS)|(ALL PRIVILEGES)/
|
31
33
|
|
32
34
|
return true if result
|
33
35
|
end
|
@@ -59,14 +61,14 @@ module Mysqlknife
|
|
59
61
|
! @mysql.execute(@mysql_sql.show_procedure('rds_kill')).first
|
60
62
|
end
|
61
63
|
|
62
|
-
def kill(
|
63
|
-
if
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
@mysql.execute(@mysql_sql.rds_kill(id))
|
68
|
-
end
|
64
|
+
def kill(process)
|
65
|
+
if rds?
|
66
|
+
@mysql.execute(@mysql_sql.mysql_kill(process['id']))
|
67
|
+
else
|
68
|
+
@mysql.execute(@mysql_sql.rds_kill(process['id']))
|
69
69
|
end
|
70
|
+
|
71
|
+
Mysqlknife::Log.new.kill(process)
|
70
72
|
end
|
71
73
|
end
|
72
74
|
end
|
data/lib/mysqlknife/mysql/sql.rb
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
module Mysqlknife
|
4
4
|
class Parameters
|
5
|
-
attr_writer :connection, :
|
6
|
-
attr_reader :
|
5
|
+
attr_writer :connection, :tool, :database
|
6
|
+
attr_reader :command, :database
|
7
7
|
|
8
8
|
def initialize
|
9
9
|
@cnf = Configs.instance
|
@@ -21,64 +21,11 @@ module Mysqlknife
|
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
def hosts
|
25
|
-
if @connection.nil? == false &&
|
26
|
-
@host.nil? == true
|
27
|
-
puts @cnf.hosts(@connection)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def slaves
|
32
|
-
if @connection.nil? == false &&
|
33
|
-
@host.nil? == true
|
34
|
-
puts @cnf.slaves(@connection)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
24
|
def tools
|
39
25
|
if @connection.nil? == false &&
|
40
|
-
@host.nil? == false &&
|
41
26
|
@tool.nil? == true
|
42
27
|
puts @cnf.tools(@connection)
|
43
28
|
end
|
44
29
|
end
|
45
|
-
|
46
|
-
def host_selected
|
47
|
-
if @connection.nil? == false &&
|
48
|
-
@host.nil? == false
|
49
|
-
@cnf.hosts(@connection).each do |host|
|
50
|
-
return @host = host if host.include?(@host)
|
51
|
-
end
|
52
|
-
|
53
|
-
false
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def slave_selected
|
58
|
-
if @connection.nil? == false &&
|
59
|
-
@host.nil? == false
|
60
|
-
@cnf.slaves(@connection).each do |host|
|
61
|
-
return @host = host if host.include?(@host)
|
62
|
-
end
|
63
|
-
|
64
|
-
false
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
def tool_selected
|
69
|
-
if @connection.nil? == false &&
|
70
|
-
@host.nil? == false &&
|
71
|
-
@tool.nil? == false &&
|
72
|
-
@cnf.tools(@connection).include?(@tool)
|
73
|
-
@cnf.hosts(@connection).each do |host|
|
74
|
-
if host.include?(@host)
|
75
|
-
@host = host
|
76
|
-
@tool = @cnf.tool(@connection, @tool)
|
77
|
-
|
78
|
-
return @tool
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
83
30
|
end
|
84
|
-
end
|
31
|
+
end
|
data/lib/mysqlknife/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mysqlknife
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicola Strappazzon C.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mysql2
|
@@ -53,19 +53,47 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 1.4.5
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: minitest
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: '5.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: '5.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: bundler
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.12'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.12'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rake
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '10.1'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '10.1'
|
69
97
|
description: MySQL Knife is a Ruby Gem and command line tools, written for UNIX-like
|
70
98
|
operating systems. That allows many tasks in MySQL Administration is easily for
|
71
99
|
normal installation or in Amazon RDS. You can check two tables by checksum in two
|
@@ -77,24 +105,24 @@ executables:
|
|
77
105
|
extensions: []
|
78
106
|
extra_rdoc_files: []
|
79
107
|
files:
|
80
|
-
- LICENSE.txt
|
81
|
-
- README.md
|
82
108
|
- bin/mysqlknife
|
83
|
-
- lib/mysqlknife.rb
|
84
109
|
- lib/mysqlknife/cli.rb
|
85
110
|
- lib/mysqlknife/command.rb
|
86
111
|
- lib/mysqlknife/configs.rb
|
87
112
|
- lib/mysqlknife/iterm.rb
|
88
113
|
- lib/mysqlknife/log.rb
|
89
|
-
- lib/mysqlknife/mysql.rb
|
90
114
|
- lib/mysqlknife/mysql/command.rb
|
91
115
|
- lib/mysqlknife/mysql/kill.rb
|
92
116
|
- lib/mysqlknife/mysql/replica.rb
|
93
117
|
- lib/mysqlknife/mysql/sql.rb
|
118
|
+
- lib/mysqlknife/mysql.rb
|
94
119
|
- lib/mysqlknife/parameters.rb
|
95
120
|
- lib/mysqlknife/ssh.rb
|
96
121
|
- lib/mysqlknife/version.rb
|
97
|
-
|
122
|
+
- lib/mysqlknife.rb
|
123
|
+
- LICENSE.txt
|
124
|
+
- README.md
|
125
|
+
homepage: https://github.com/swapbytes/mysqlknife
|
98
126
|
licenses:
|
99
127
|
- MIT
|
100
128
|
metadata: {}
|
@@ -106,7 +134,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
106
134
|
requirements:
|
107
135
|
- - ">="
|
108
136
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
137
|
+
version: 1.9.3
|
110
138
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
139
|
requirements:
|
112
140
|
- - ">="
|
@@ -114,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
114
142
|
version: '0'
|
115
143
|
requirements: []
|
116
144
|
rubyforge_project:
|
117
|
-
rubygems_version: 2.
|
145
|
+
rubygems_version: 2.0.14.1
|
118
146
|
signing_key:
|
119
147
|
specification_version: 4
|
120
148
|
summary: MySQL and RDS tools for checksum, kill process, swap and resume replication
|