User login

How to create an administrative MySQL user for Drupal databases

Working on configuring MySQL for our deployment system I was confronted with a little problem. To improve on safety it would be good to have an administrative user which may only create and drop users for our Drupal databases which have a common name pattern. Therefore I tried this GRANT statement: GRANT ALL ON drupal\_%.* TO 'drupal'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION. All is well documented in the MySQL online manual page GRANT syntax.

Next I entered the interactive mysql command line with my new user's credentials and tried to use it as intended: GRANT ALL ON drupal\_example.* TO 'example'@'localhost' As you might guess, it didn't work. Why? Creating and dropping users requires the global CREATE USER privilege: GRANT CREATE USER ON . TO 'drupal'@'localhost' does the trick.

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • You can use Markdown syntax to format and style the text. Also see Markdown Extra for tables, footnotes, and more.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <blockquote> <small> <h2> <h3> <h4> <h5> <h6> <sub> <sup> <p> <br> <strike> <table> <tr> <td> <thead> <th> <tbody> <tt> <output>
  • Lines and paragraphs break automatically.

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.