New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

mysql_users

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mysql_users

  • 0.0.2
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

simple mysql grant management inspired by this chef recipe

Installation

It's still being developed so it's not on rubygems right now. Add this to your Gemfile:

gem 'mysql_users', git: 'https://github.com/margueritepd/ruby_mysql_users.git'

Usage

The user object takes a database client as part of its constructor. You can use the mysql2 database client, or you can write your own - as long as it responds to query and escape, you're good.

If using the mysql2 client, you should probably make sure you close the connection when you're done manipulating the user object.

In the constructor, you want to also pass the user's username and hosts from which it can log into.

You can optionally pass a password.

eg:

require 'mysql_users'
require 'mysql2'

begin
  db = Mysql2::Client.new(
    host: "localhost",
    username: "root",
  )

  ['%', 'localhost'].each do |host|
    user = MysqlUsers::User.new(
      db,
      {
        username: 'marguerite',
        host: host,
        password: 'foo',
      }
    )
    user.create  # won't complain if user exists already
    user.grant({
      grants: ['ALL PRIVILEGES'],
      database: 'web',
      table: 'auth',
    })
    user.revoke({
      grants: ['SELECT'],
      database: 'web',
      table: 'auth',
    })
    user.drop  # won't complain if user doesn't exist
  end
rescue => e
  puts e
  raise e
ensure
  db.close unless db.nil?
end

Testing

bundle exec rake

Creating a new package

bundle exec rake build
# new gem is in pkg/

FAQs

Package last updated on 12 Aug 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc