Posts tagged: mysql

Ноя 25 2008

Как восстановить потерянный рутовый пароль к mysql

Если вы потеряли пароль к mysql или ваш предшественник, вам его не передал, заменить его можно так.
Сначала остановим mysql:

/usr/local/etc/rc.d/mysql stop

Теперь запустим его в режиме игнорирования прав:

/usr/local/bin/mysqld_safe --skip-grant-tables

Read more »

Ноя 21 2008

MySQL, установка, первичная настройка

MySQL. на сегодняшний день самый популярный SQL сервер. В портах FreeBSD присутствуют все ветки MySQL начиная с 3.23 и заканчивая 6.0. Устанавливать мы будем, самую стабильную, на мой взгляд, 5.0.
Начнем сразу с установки сервера. Во многих источниках рекомендуют сначала установить mysql-клиента, но устанавливая MySQL последние два года, я не видел ни одной проблемы при установке сразу сервера. Клиента он собирает автоматически, как составную часть сервера.
Read more »

Окт 30 2008

Настройка репликации MySQL

Настройку репликации начинаем с сервера-мастера, первым делом необходимо указать в /var/db/mysql/my.cnf(для версий MySQL<5.1) или в /usr/local/etc/my.cnf:
Read more »

Окт 19 2008

MySQL восстановление репликации

Бывает так, что репликация развалилась по причине того что данные уже есть в таблице.
команда
show slave status;
Указывает на ошибку Duplicate entry.
Что бы починить репликацию достаточно ввести 1 или если несколько записей дублируются, несколько раз:
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;SLAVE START;SHOW SLAVE STATUS;

Окт 19 2008

MySQL — repair таблицы при нехватке места

Случилась беда. Побилась табличка, подключились, втоптали repair table «имя таблицы» и обнаружили что на починку таблицы места не хватает, почистили место, но не тут то было, места по прежнему катастрофически не хватает. Более того, сервер в продакшене и перемещать таблицу в то место где мы можем его починить времени нет.

И после этого родилась такая идея, таблицу, а именно файлы с расширениями MYD, MYI и frm, имя файлов совпадает с именем таблицы, переместил в /var/db/mysql и натравил на него myisamchk -r, myisamchk создал временный файл имя_таблицы.TMD, после этого работу mysamchk оборвал, файл переместил в то место где есть место. Что бы все пошло как надо я поставил симлинку на него и перезапустил myisamchck вот так:

myisamchk -fr имя_таблицы

При этом, по окончании работы myisamchk честно переименовал симлинку в файл имя_таблици.MYD.
Теперь мы можем вернуть все файлы на место, переименовав файл TMD в MYD и расположив его на прежнем месте в директории базы либо так и оставив там поставив из директории базы симлинку на него.

Таким образом мы сэкономили время одного копирования и максимально быстро решили проблему.

Окт 18 2008

Grantы в mysql

Очень часто забываю как добавить пользователя к mysql, а делается это так:
1. Надо что бы пользователь hilik c паролем hilik c localhosta только читал (выполнял команду select) на базе hilik:

 grant select on hilik.* to 'hilik'@'localhost' identified by 'hilik';

2. Надо что бы пользователь admin с паролем admin c ip:192.168.0.4 имел полное управление базой admin

  grant all on admin.* to 'admin'@'192.168.0.4' identified by 'admin';

3. Надо что бы пользователь super c паролем super c ip: 192.168.0.5 имел полный доступ ко всем базам

    grant all on * to 'super'@'192.168.0.5' identified by 'super';