Error 1045

  • Rick

    Does anyone have experience with this error message, appearing when trying to run the install.php script? The full text is:

    Error 1045 : Access denied for user 'winkxxxxxxx'@'' (using password: YES) *

    I think the problem might be a basic misunderstanding of MySQL in DreamHost, because I just tested my access from OS X Terminal on a "dummy" database set up for testing. I was able to access the database fine using:

    mysql -u wink.......... -p -h dummy

    but trying to create a new user failed, i.e.


    led to a similar error:

    ERROR 1044 (42000): Access denied for user '.............'@'2xx.1xx.1xx.x/' to database 'dummy'

    If there's anyone here familiar with DreamHost, I'm wondering whether there's some default use such as host apart from the user you actually create yourself when creating the database?

    Thanks for any advice.

    *Hostnames on DreamHost are of the form rather than localhost.

    • Hi Rick,

      It seems as if you're trying to install refbase on a shared server. The refbase install script should work fine when installing refbase on your *own* server (or on your local computer on Mac OS X or on PC with XAMPP[*]), but it may cause problems on a shared host. This is due to restricted permissions that are often setup by the host's internet service provider.

      On a shared host, there's often only one SQL user per user account (which has already restricted permissions), thus it is not possible (or necessary) to setup your own dedicated MySQL user for refbase.

      Also, loading the SQL database structure file via mysql will often not work on a shared host, but your ISP may have provided you with a SQL web management interface (such as phpMyAdmin) where you can paste the contents of the refbase 'install.sql' file.

      In other words, on a shared host you will most probably need to install refbase manually (i.e. without 'install.php'). The few steps required for a manual installation are described here:

      At the end of each step in that document, special notes are given for shared hosts. These will tell you whether you'll need to perform a particular step on a shared host or whether you should adopt it somehow.

      Please let us know if you still can't get it to work.



    • Dreamhost does provide support & there are a number of forums for dreamhost users to help one another.  I'd suggest using these resources, as it most likely isn't a problem peculiar to refbase (as you said, you saw the same behavior at the command line).

      The most common reason for MySQL 104x errors with external hosting is that you just aren't using the right username/password.  The database user/pass is different than your hosting account user/pass & you often have to create/activate the user account and/or database through a web frontend.

      I'm actually optimistic about the install script working with dreamhost if you get the info right (our install script doesn't differ radically from some other common LAMP webapps that people put on dreamhost), however Matthias is correct that it isn't "one size fits all" & you might need the manual installation procedure.

    • Rick

      Thanks for the quick feedback. I haven't been able to follow your suggestions yet, but I would add, reinforcing your point, that I've had a lot of problems since switching to DreamHost from OpenSourceHost, which is much more expensive but uses C-Panel, which I found a lot easier to understand. As an example, I abandoned PmWiki in favour of DokuWiki after installation problems with the former, even though I had several previous experiences on OSH of installing PmWiki and other software that also required MySQL. It looks like I'm going to have to spend some serious time over on the DreamHost forums trying to get a thorough understanding of how things work.

      As Matthias suggests, I do have access to a web interface for SQL, where I can create users, tables, etc. No doubt there are detailed instructions in the RefBase documentation, so an interesting alternative would be for me to do everything manually. This would be my first time to do such a thing, having only used install scripts in the past. Obviously, you don't know me, so you can't really judge my capabilities, but am I right in thinking this would be a matter of following instructions carefully, rather than some kind of voodoo that I, with no expertise in SQL or PHP, should be scared to attempt?

    • Rick

      <cite>The most common reason for MySQL 104x errors with external hosting is that you just aren't using the right username/password. The database user/pass is different than your hosting account user/pass</cite>

      Just to clarify here: I was logged in with my standard shell/ftp account (this was of course necessary to upload the files). I ran the script once without doing any kind of MySQL setup, and this failed to work at all because the hostname didn't even exist: at DreamHost you have to create a hostname, database, and database user in one process, and I couldn't find any documentation on what privileges that user had. I had assumed it would be the same as root on other systems but I suspect now that is not the case. Note that this hostname/database/user creation process happens in the main DreamHost account administration interface, but you can then go to phpMyAdmin if you want to create tables, etc. I didn't actually do this for RefBase because I thought it would spoil the workings of the install script. In any case, I tried two different ways with the file:

      inputting the database user and password that I had just created through the web interface;
      inputting a totally new database username and password that I expected the script to create for me

      Am I right in thinking that the first of these is recommended?

      Thanks for all the help, Rick

    • Rick

      <cite>I tried two different ways with the file</cite>

    • Hi Rick, you said (w.r.t. the manual installation process):

      > am I right in thinking this would be a matter of following
      > instructions carefully, rather than some kind of voodoo that I,
      > with no expertise in SQL or PHP, should be scared to attempt?

      Yes, that's correct. Simply following the instructions given at:

      should do[*]. However the wiki instructions for a "Manual installation" were written with a dedicated server in mind, and notes for installation on a shared host have been injected later. So I agree with your comment in the wiki that we should split the "Manual installation" page into two dedicated pages, one for installation on a dedicated server, and one for installation on a shared host. As a quick guide for installing refbase manually on a shared host, please perform following steps:

      1. Download refbase from

      2. Unpack the archive and copy the contained scripts to the web directory of your server account

      3. Create/setup a MySQL database for use with refbase. On a shared host, you'll likely do this thru some web interface (such as phpMyAdmin) provided by your ISP. Make sure that you've chosen the correct/desired character set (utf-8 or latin1) when creating the MySQL database.

      4. Enter your database and access information in 'initialize/' -> see step 2 of the "Manual installation" wiki page:

          Note that on a shared host, you most probably don't need to setup a separate MySQL user for use with refbase since the MySQL user that comes with your account probably has already limited MySQL user privileges. So, you can probably simply enter the user+pass of your existing MySQL user into ''.

      5. Open the file 'install.sql' (or 'install_utf8.sql' in case of an UTF8-based MySQL database) in a text editor and copy+paste its contents into the SQL command execution form provided by your ISP (this is often done via a web-based interface for management of your MySQL databases such as phpMyAdmin).

      6. Proceed with step 5 of the "Manual installation" wiki page:

      [*]: As a caveat note, the biggest issues usually involve installation of the Bibutils binaries since this requires a server account where you are allowed to install custom binaries. ALso, permissions must be set correctly for the Bibutils binaries to have them work with refbase. What's more, on a shared host, you may need to hard-code the server's PHP temporary directory into 'includes/'. More advice regarding the setup of Bibutils is given here:

      I hope this helps, let us know if you run into trouble!


    • Rick

      Thanks a lot, Matthias. Bad timing, I know, but rereading the Manual Installation page before you posted your latest message it suddenly clicked that there wasn't _that_ much to it. I think I had just fixed it in my head that it was a daunting thing to be avoided if at all possible, but actually it wasn't that different from following an install script. So I went ahead and did it, and got it installed kind of successfully, and then went to see a movie to celebrate. (Death Proof, by Tarantino. Wish I hadn't bothered!)

      I do still have a few problems, though. The most troubling one is that I get an error message whenever I click login or logout, but simply clicking the back button in the browser takes me to the correct logged in or logged out state. If I can't sort them out I'll post them in a separate thread, as this is getting a bit removed from Error 1045. I think I'll start by deleting my present installation and start again, partly to give me confidence with the procedure and partly because I didn't notice that there were two alternative install.sql files and I think I want a UTF-8 installation.

      Anyway, thanks again for the generous assistance.

      • Hi Rick,

        thanks for the update report, great to hear that you made some progress!

        I'm currently on the go but will respond to your posts in more detail tomorrow.

        Just quickly, if you've installed refbase from the refbase-0.9.0 release package (available at the SourceForge download page), then please apply this fix manually:

        This may help with some error messages you're getting.

        Also please make sure that you've got the latest version of Bibutils (some previous version had issues with BibTeX import into an UTF-8 database). If you're seeing the error message "There were validation errors regarding the data you entered" upon import of Endnote or BibTeX records, then this most likely means that Bibutils has not been installed correctly. These tips might help:

        Thanks again for your patience,


    • Rick

      Cool. I'll try these before going any further. Thanks, Rick

    • Rick

      Another update:

      1. I changed line 1100 of modify.php according to the instructions.
      2. I tried importing refs of the same formats to the test database:
      (a) RIS as exported from Bookends wasn't imported (unrecognized data format; validation errors); but
      (b) BibTeX was.

      I concluded that it was probably a Bibutils problem, and sure enough the depends_path to both refbase and bibutils is NULL. I'll take another look at the relevant documentation, but at the moment it looks a bit difficult.

    • Hi, by default import of RIS records is done by refbase natively (i.e. it doesn't depend on Bibutils). So, if you're getting an "unrecognized data format" error upon import of RIS records, this means that refbase wasn't able to identify the source format. Could you post a few samples of the problematic RIS records?

      W.r.t. RIS import, I found this comment in a recent thread on the Zotero forums:

      > It looks like Bookends is generating an invalid RIS file. The RIS spec calls for
      > two spaces between the tag and the dash—your file has only one. Adding a space
      > with Find/Replace All allows the file to be imported.

      Could it be that this "missing space" issue is also the problem in your case?

      If you can import BibTeX correctly, then this means that Bibutils has been installed correctly for use with refbase.