mysqlknife 2.0.3 → 2.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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 [![Build Status](https://travis-ci.org/swapbytes/mysqlknife.svg?branch=newfeature%2F3)](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
|
+
![mysqlknife](https://github.com/nicola51980/mysqlknife/blob/master/assets/mysqlknife.gif)
|
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
|