Страница 1 из 1

MySQL - Dump

Добавлено: 2011-10-20 6:28:11
Matveev
Требуется выполнить бэкап (дамп) MySQL БД "db001".

1 - явки и пароли пароли от баз неизвестны (контактов с прошлым админом нет ...)
2 - без установки доп портов phpMyAdmin ... (желательно, т.к. микроскопом только гвозди умею забивать)

Система:

Код: Выделить всё

serv# uname -v
FreeBSD 7.1-RELEASE #0: Thu Jan 21 23:39:04 YEKT 2010 ...
serv#
Порты:

Код: Выделить всё

serv# pkg_version -v
apache-2.2.14_5                     ?   orphaned: www/apache22
...
mysql-client-5.0.88                 ?   orphaned: databases/mysql50-client
mysql-server-5.0.88                 ?   orphaned: databases/mysql50-server
nginx-0.7.64                        ?   orphaned: www/nginx
...
perl-5.8.9_3                        ?   orphaned: lang/perl5.8
php5-5.2.12                         ?   orphaned: lang/php5
...
php5-mysql-5.2.11_1                 ?   orphaned: databases/php5-mysql
...
Сайт использующий даную базу имеет соответствующий конфиг:

Код: Выделить всё

  var $sql_login="";
  var $sql_passwd="";
  var $sql_database="db001";
  var $sql_host="localhost";

  var $conn_id;
  var $sql_query;
  var $sql_err;
  var $sql_res;


  function sql_connect()
  {
   $this->conn_id=mysql_connect($this->sql_host,$this->sql_login,$this->sql_passwd);

        die("<h1 align=center>Connect to server!!!</h1>");
  if (!$this->conn_id)
    die("<h1 align=center>Unable connect to server!!!</h1>");

   $this->conn_log_id=mysql_connect($this->sql_host,$this->sql_login,$this->sql_passwd);
   mysql_select_db($this->sql_database);

    if(!(mysql_select_db( $this->sql_database, $this->conn_id)))
    die("<h1 align=center>Unable connect to database!!!</h1>");
    mysql_query("set names cp1251",$this->conn_id);
  }

В /var/db/mysql/ имеется базы "mysql" и "db001"

При коннекте к мускулу с логином "" и паролем "" базу db001 не видно (думал раз сайт под ним работает то и базу он нормально видит)

Код: Выделить всё

serv# mysql -u -p
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 13649
Server version: 5.0.88-log FreeBSD port: mysql-server-5.0.88

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
+--------------------+
2 rows in set (0.00 sec)

mysql>
Пробовал коннект по умолчанию

Код: Выделить всё

serv# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
serv#
В моём понимании - нету юзверя root в базе "mysql".

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


Итак: кто знает как сделать дамп? (и узнать явки пароли к базам или внести новых юзверей с неограниченными правами?)

Re: MySQL - Dump

Добавлено: 2011-10-20 6:38:26
Matveev
Прошерстил ВСЕ скрипты сайта связанные с обращением к БД -> нашёл пароль и логин.

Но вопрос не закрываю ввиду оставшегося пробела в знаниях.

Re: MySQL - Dump

Добавлено: 2011-10-20 9:38:45
Gamerman
А что за пробел?

Re: MySQL - Dump

Добавлено: 2011-10-20 9:41:55
Bayerische
В инете нашёл много проблем при переносе баз прямым копированием - без дампа, которые частично решаются довольно грубо (в конечном итоге корявость базы).
Да нету там проблем, если всё целиком тащить c InnoDB. MyISAM так вообще потаблично можно. Пробовал с FreeBSD ещё 6-й ветки копировать под Windows, проканало.

Re: MySQL - Dump

Добавлено: 2011-10-20 9:48:17
Matveev
Ну к примеру не знаю я вообше ни логинов ни паролей - знаю только название БД + имею физические файлы.
Так как не меняя пароли сделать дамп?
Или сменить - сделать дамп - восстановить старый (который остался неизвестным).

Re: MySQL - Dump

Добавлено: 2011-10-20 9:50:53
Gamerman
Запустить мускуль в режиме "без привилегий". Точно ключ не помню, что-то типа --no-grand. А дальше сливать базы без пароля.

Re: MySQL - Dump

Добавлено: 2011-10-20 9:53:06
Bayerische
Копируете файлы, потом /usr/local/bin/mysqladmin -u root password 'new-password'. Усё, можете коннектиться.

Re: MySQL - Dump

Добавлено: 2011-10-20 9:57:29
Gamerman
Bayerische писал(а):Копируете файлы, потом /usr/local/bin/mysqladmin -u root password 'new-password'. Усё, можете коннектиться.
вроде ж спрашивали, что делать если рутового пасворда не знать

Re: MySQL - Dump

Добавлено: 2011-10-20 10:03:53
Bayerische
Да, попутал...
/usr/local/bin/mysqld_safe --skip-grant-tables -user=root &
так, по-моему.

Re: MySQL - Dump

Добавлено: 2011-10-20 10:58:58
Matveev
СПС за советы - попробую запустить отключив grant.

Re: MySQL - Dump

Добавлено: 2011-10-20 19:36:10
FiL
варианты -
1. запустить мускул без привилегий (как выше написали).
2. Если база в myisam, то можно скопировать базу на другой сервер (от которого есть рутовский пароль) и там с ней делать что попало.

Re: MySQL - Dump

Добавлено: 2011-10-25 6:00:40
Matveev
FiL писал(а):2. Если база в myisam, то можно скопировать базу на другой сервер (от которого есть рутовский пароль) и там с ней делать что попало.
Этот вариант сработал.