Новый пользователь MySQL по SSH

Возникает ошибка:

Fatal error: Call to a member function get() on a non-object in .../core/model/modx/modmanagerresponse.class.php on line 41

В моем случае это означало, что не происходит подключения к базе дынных (с какого-то непонятного перепуга удалились пользователи mysql).

Как проверить подключение к базе mysql?

Создаем файл testmysql.php, внутрь помещает простой php код, где вводим данные, расположенные в файле ../core/config/config.inc.php на строках (по умолчанию) $database_user, $database_password и $dbase:

<?php
$server = 'localhost';
$user = ''; //внутрь кавычек вставить значение из $database_user (../core/config/config.inc.php)
$password = ''; //внутрь кавычек вставить значение из $database_password (../core/config/config.inc.php)
$dblink = mysql_connect($server, $user, $password);
if($dblink)
echo '<b>OK.</b> - Soedinenie ustanovleno.';
else
die('<b>Error</b> - Oshibka podklucheniya k serveru baz dannih'); //Ошибка подключения к серверу баз данных.
$database = ''; //внутрь кавычек вставить название вашей базы данных из $dbase (../core/config/config.inc.php)
$selected = mysql_select_db($database, $dblink);
if($selected)
echo ' <b>OK.</b> - Podkluchenie k baze dannih proshlo uspechno'; // Подключение к базе данных прошло успешно.
else
die(' <b>Error</b> - baza dannih ne naidena ili otsutstvuet dostup'); // База данных не найдена или отсутствует доступ.
?>

Заливаем этот файлик на сервер, открываем его, переходя по ссылке [ваш сайт]/testmysql.php и любуемся ошибками. Окей. Хорошо, теперь будем их решать.

Что нам понадобится для подключения к mysql без phpadmin, ispmanager и прочих:

  • Доступ root к серверу базы данных (может быть подойдет user - root, пароль - [пусто]).
  • Доступ root к вашему серверу.
  • Ssh - клиент putty. (http://putty.org.ru/download.html)

Итак. Открываем putty, вводим в поле "Имя хоста (или IP-адрес)" именно то, что и просит поле - имя хоста, или ip:)

Во вкладке "Соединение - данные" (левое меню) в поле "имя пользователя" для автовхода вводим ваш root-логин, в поле "Пароль для автовхода" вводим соответственно root-пароль. Жмем кнопку "Соединиться".

перед нами командная строка, и вы должны увидеть что-то вроде:

Using username "root". root@111.111.111.1's password: Send automatic password Last login: Sat Apr 12 05:16:40 2014 from 222.22.222.22 [root@[сервер] ~]#

Все ок, вводим команду для подключения к mysql:

mysql -u[Ваш root-логин] -p[Ваш root-пароль (если пароля нет, оставьте пустым)]

Команда будет например такой - mysql -uroot -pmy_pass123

Отлично, подключились, видим предложение ввести команду:

mysql>

Для начала я бы взглянул на список всех баз дынных, для этого вводим команду:

mysql> show databases;

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

mysql> use [Имя вашей базы без квадратных скобок];

получаем сообщение вроде "Database changed". Все отлично, идем дальше. Создаем нового пользователя для базы:

mysql> CREATE USER '[Имя пользователя без квадратных скобок]'@'localhost' IDENTIFIED BY '[пароль без квадратных скобок]';

Пользователя создали, теперь нужно еще добавить кое что:

mysql> GRANT ALL PRIVILEGES ON [имя вашей базы без квадратных скобок].* TO '[Имя пользователя без квадратных скобок]'@'localhost' WITH GRANT OPTION;

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

Теперь возвращаемся в файл ../core/config/config.inc.php и вводим новые данные в поля $database_user и $database_password.

Лично мне это алгоритм помог решить проблему.

Полезные ссылки:

http://howto.memcrab.com/2012/01/mysql.html - MySQL. Два способа создания аккаунтов/пользователей.

http://rtfm.co.ua/mysql-commands/ - Наиболее используемые команды MySQL.

http://winscp.net/eng/docs/lang:ru - визуальный SSH клиент. (но почему-то через его терминал не получается вводить все те команды, которые я предлагаю вводить через putty. Поэтому его скорее можно использовать как файловый менеджер:))


Комментарии (0)



Разрешённые теги: <b><i><br>Добавить новый комментарий:


Создание сайтов в студии go-up.info