@@ -177,29 +177,41 @@ def password_hash=(string)
177177
178178 def max_user_connections = ( int )
179179 merged_name = self . class . cmd_user ( @resource [ :name ] )
180- self . class . mysql_caller ( "GRANT USAGE ON *.* TO #{ merged_name } WITH MAX_USER_CONNECTIONS #{ int } " , 'system' ) . chomp
181-
180+ if newer_than ( 'mysql' => '5.7.6' , 'percona' => '5.7.6' , 'mariadb' => '10.2.0' )
181+ self . class . mysql_caller ( "ALTER USER #{ merged_name } WITH MAX_USER_CONNECTIONS #{ int } " , 'system' ) . chomp
182+ else
183+ self . class . mysql_caller ( "GRANT USAGE ON *.* TO #{ merged_name } WITH MAX_USER_CONNECTIONS #{ int } " , 'system' ) . chomp
184+ end
182185 ( max_user_connections == int ) ? ( return true ) : ( return false )
183186 end
184187
185188 def max_connections_per_hour = ( int )
186189 merged_name = self . class . cmd_user ( @resource [ :name ] )
187- self . class . mysql_caller ( "GRANT USAGE ON *.* TO #{ merged_name } WITH MAX_CONNECTIONS_PER_HOUR #{ int } " , 'system' ) . chomp
188-
190+ if newer_than ( 'mysql' => '5.7.6' , 'percona' => '5.7.6' , 'mariadb' => '10.2.0' )
191+ self . class . mysql_caller ( "ALTER USER #{ merged_name } WITH MAX_CONNECTIONS_PER_HOUR #{ int } " , 'system' ) . chomp
192+ else
193+ self . class . mysql_caller ( "GRANT USAGE ON *.* TO #{ merged_name } WITH MAX_CONNECTIONS_PER_HOUR #{ int } " , 'system' ) . chomp
194+ end
189195 ( max_connections_per_hour == int ) ? ( return true ) : ( return false )
190196 end
191197
192198 def max_queries_per_hour = ( int )
193199 merged_name = self . class . cmd_user ( @resource [ :name ] )
194- self . class . mysql_caller ( "GRANT USAGE ON *.* TO #{ merged_name } WITH MAX_QUERIES_PER_HOUR #{ int } " , 'system' ) . chomp
195-
200+ if newer_than ( 'mysql' => '5.7.6' , 'percona' => '5.7.6' , 'mariadb' => '10.2.0' )
201+ self . class . mysql_caller ( "ALTER USER #{ merged_name } WITH MAX_QUERIES_PER_HOUR #{ int } " , 'system' ) . chomp
202+ else
203+ self . class . mysql_caller ( "GRANT USAGE ON *.* TO #{ merged_name } WITH MAX_QUERIES_PER_HOUR #{ int } " , 'system' ) . chomp
204+ end
196205 ( max_queries_per_hour == int ) ? ( return true ) : ( return false )
197206 end
198207
199208 def max_updates_per_hour = ( int )
200209 merged_name = self . class . cmd_user ( @resource [ :name ] )
201- self . class . mysql_caller ( "GRANT USAGE ON *.* TO #{ merged_name } WITH MAX_UPDATES_PER_HOUR #{ int } " , 'system' ) . chomp
202-
210+ if newer_than ( 'mysql' => '5.7.6' , 'percona' => '5.7.6' , 'mariadb' => '10.2.0' )
211+ self . class . mysql_caller ( "ALTER USER #{ merged_name } WITH MAX_UPDATES_PER_HOUR #{ int } " , 'system' ) . chomp
212+ else
213+ self . class . mysql_caller ( "GRANT USAGE ON *.* TO #{ merged_name } WITH MAX_UPDATES_PER_HOUR #{ int } " , 'system' ) . chomp
214+ end
203215 ( max_updates_per_hour == int ) ? ( return true ) : ( return false )
204216 end
205217
0 commit comments