Mysql не может подключиться - доступ запрещен (с использованием пароля да)

У меня есть хостинг, предоставленный eleven 2, и я только что создал нового пользователя MySQL и дал ему доступ ко всем перечисленным действиям.

Я получаю следующую ошибку

Warning: mysql_connect() [function.mysql-connect]: Access denied for user '(username is here, removed for posting)' (using password: YES) in /home/.../public_html/config.php on line 10

Вот мой файл конфигурации

//connection details have been removed for posting purposes

<?php

 define('SQL_SERVER',''); // Database Server
 define('SQL_USER',''); //  User
 define('SQL_PASS',''); //  Password
 define('SQL_DB',''); //  database



 mysql_connect(SQL_SERVER,SQL_USER,SQL_PASS) or die("Error: ".mysql_error()); // Connection to the server
 mysql_select_db(SQL_DB) or die("Error: ".mysql_error()); // Connecting to the database
?>

Я попытался сделать следующее, как было предложено в этом сообщении Доступ запрещен для пользователя ' someuser '@' localhost '(с паролем: ДА)

GRANT ALL PRIVILEGES ON databasename.* TO 'bookorama'@'%' IDENTIFIED BY 'yourpassword';
FLUSH PRIVILEGES;

Но я получил следующую ошибку: «# 1044 - Доступ запрещен для пользователя». Когда я вхожу в CPanel и проверяю пользователей базы данных, он показывает пользователя, от имени которого я пытался войти, поэтому я не понимаю, почему это не сработает.

РЕДАКТИРОВАТЬ - у меня все заработало. Что-то не так с сервером. Связался с хозяином, и они позаботились об этом. Спасибо за ответы.


person user1443519    schedule 28.09.2012    source источник
comment
Вы уверены, что правильно ввели пароль или имя пользователя?   -  person Furry    schedule 28.09.2012
comment
Да, я уверен. Я даже установил пароль на что-то очень простое (в целях тестирования), и он не подключается.   -  person user1443519    schedule 28.09.2012
comment
Серьезный вопрос, когда вы сделали GRANT ALL, вы подставили свою информацию вместо того, что указано выше, да?   -  person ultranaut    schedule 28.09.2012
comment
Я пробовал твое кодирование, у меня все отлично   -  person Furry    schedule 28.09.2012
comment
@ultranaut Да, я позаботился о замене своей информации.   -  person user1443519    schedule 28.09.2012
comment
@ user1631889 этот код отлично работает на локальном хосте, не работает на моем живом сервере   -  person user1443519    schedule 28.09.2012
comment
вы пробовали FLUSH PRIVILEGES?   -  person ultranaut    schedule 28.09.2012
comment
Может быть, это может вам помочь: stackoverflow.com / questions / 5016505 /   -  person Furry    schedule 28.09.2012
comment
Одно я могу сказать наверняка - это не PHP-код, так как этот в порядке - это что-то о правах на вашем сервере и / или конфигурации - поскольку это только для тестовых целей - сбросьте сервер, повторно загрузите файлы и попробуйте снова с суперпользователем, предоставленным вашим хостером   -  person Ivan Schrecklich    schedule 28.09.2012
comment
@Ivan - Я не слишком хорошо знаком с CPanel. Кроме предоставления пользователям доступа к базе данных, где еще я могу изменить права для сервера?   -  person user1443519    schedule 28.09.2012
comment
Другой альтернативой является использование PHPMYADMIN   -  person Furry    schedule 28.09.2012
comment
Я не знаю CPanel, поскольку использую Plesk на своем сервере, но, вероятно, он будет почти таким же. Взгляните на Database-Server в своей CPanel - там должны быть некоторые варианты его сохранения - для серверов plesk обычно есть работающая версия phpmyadmin - и с помощью phpmyadmin вы можете легко изменить все, что вам нужно.   -  person Ivan Schrecklich    schedule 28.09.2012
comment
Вот как это выглядит для CPANEL: blog.raptor.co.id/wp-content/uploads/2012/05/PhpMyAdmin.jpg   -  person Furry    schedule 28.09.2012
comment
О, вы имеете в виду перезапуск сервера mysql? Я без проблем могу войти в phpmyadmin.   -  person user1443519    schedule 28.09.2012
comment
Вы пытаетесь подключиться со своего действующего веб-сервера к действующему серверу базы данных или с локального веб-сервера к действующему серверу базы данных?   -  person Arjan    schedule 28.09.2012
comment
@Arjan Я не уверен, о каком соединении вы говорите, но я вошел в CPanel, чтобы создать пользователей базы данных. Из CPanel я могу получить доступ к PHPMyAdmin и отредактировать базу данных   -  person user1443519    schedule 28.09.2012
comment
@ user1443519: Можете ли вы предоставить дополнительную информацию о том, что сделал ваш хост? У меня такая же проблема с экземпляром MySQL, использующим cPanel.   -  person jseals    schedule 04.06.2013


Ответы (4)


Я наткнулся на эту информацию о подключении о Cpanel http://www.inmotionhosting.com/support/community-support/databases/1045-access-denied-for-user-mysql-error

Ваше имя пользователя и пароль cPanel можно использовать для подключения к вашим базам данных (а также к вашей cPanel). Если вы подключаетесь к своей базе данных, используя имя пользователя и пароль cPanel, вы можете сбросить пароль cPanel, чтобы убедиться, что вы используете правильное имя пользователя и пароль.

Если вы настраиваете имя пользователя и пароль MySQL специально для доступа к базе данных, вам нужно убедиться, что вы используете правильное имя пользователя в своих сценариях php. Например, имена пользователей MySQL всегда имеют следующий формат:

cpanel-username_mysql-username

Если ваше имя пользователя cPanel - userna5 и вы создали имя пользователя базы данных dbuser1, то фактическое имя пользователя базы данных будет:

userna5_dbuser1

Временно я бы предложил изменить пароль вашей базы данных на пароль вашей учетной записи Cpanel, чтобы устранить любые сомнения.

person user1104854    schedule 28.09.2012

Обычно поле пароля не требуется, если вы не устанавливаете пароль для mysql.

вы можете использовать mysql_connect ("hostname", "username", "")

Но если вы установили пароль для своего mysql, вам нужно будет написать пароль при подключении. И если он по-прежнему не работает, возможно, вам нужно посмотреть свое имя пользователя и пароль.

person user786    schedule 28.09.2012

Какой у вас sql-сервер? некоторые компании меняют имя сервера с локального хоста на что-то другое в целях безопасности - ну, но если он говорит, что доступ запрещен для пользователя, возможно, вы подключаетесь к неправильной базе данных? то есть

mysql_select_db(SQL_DB)

Вы уверены, что используете правильное имя базы данных? и вы можете войти в свою учетную запись SQL с тем же именем пользователя и паролем? хорошо, если проблема все еще сохраняется, пытаясь использовать корневую учетную запись SQL, суперадминистратор надеется, что вы находитесь на своем локальном компьютере или имеете выделенный сервер.

Почему бы вам не попробовать использовать их в этой форме -

$con = mysql_connect("host name","username","password");
$db = mysql_select_db("database name",$con);
person Mayo Watro    schedule 28.09.2012
comment
Я собираюсь удалить базу данных и пользователей базы данных и ввести их повторно. Учетная запись, используемая для управления базой данных, отличается от той, которая использовалась для входа в нее. Тот, который используется для управления базой данных, на самом деле является логином для CPanel. В CPanel есть инструменты базы данных, которые позволяют добавлять и редактировать пользователей базы данных. Кроме того, в CPanel вы можете получить доступ к PHPMyAdmin для редактирования базы данных. Итак, хотя я могу создавать и редактировать базу данных и ее пользователей из CPanel / PHPMyAdmin, эта учетная запись CPanel отличается от тех, которые созданы для входа в базу данных из файла конфигурации. - person user1443519; 28.09.2012

У меня была такая же проблема, я пытался подключиться между двумя разными веб-серверами. Если я использую свой PHP-скрипт на том же сервере, соединение будет установлено, но если я использую тот же файл скрипта с другого веб-сервера (веб-хостинга), он выдал эту ошибку.

Я решил это, разрешив доступ к серверу MySQL (удаленный MySQL), указав IP-адрес, с которого я использовал для подключения.

Также стоит отметить, что я использовал домен, но имя домена мне не подошло. Также как CPanel, так и пользователи MySQL могут подключаться к серверу MySQL. Надеюсь, это будет полезно и для вас.

person WajhuAllah Hussain    schedule 18.09.2013