Архивы: mysql

mysq скопировать БД на другой сервер

Есть у меня очень большая БД, которую нельзя экспортировать через phpmyadmin сильно длительная операция все возможные таймауты вылетают.

тут понадобилось для теста развернуть эту БД на другом сервере. без промежуточного вывода в файл.

делаем это вот так

[cc lang=”bash”] mysqldump -uroot -pPASS bigDB | mysql -h 10.10.10.6 -uroot -pPASS bigDB[/cc]

Вот так не хитро одной командой мы выводим дамп, и сразу же отправляем его во второй сервер.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘USING BTREE

Когда мне mysql заругался на дамп сайта вот такой строкой

[cc lang=”bash”]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘USING BTREE[/cc]

Я показал ему магию, уличную консольную магию

[cc lang=”bash”]sed -i -r ‘s/\(([^)]+)\) USING BTREE/USING BTREE (\1)/g’ backup.sql[/cc]

После чего дамп съелся наура 🙂

Сброс root пароля Mysql

И так, для начала останавливаем демона.

[cc lang=”bash”]sudo /etc/init.d/mysql stop[/cc]

Запускаем его в безопасном режиме без проверки привилегий
[cc lang=”bash”]sudo mysqld_safe –skip-grant-tables &[/cc]

Теперь используем базу mysql, в которой хранятся данные о пользователях:

[cc lang=”bash”]mysql -u root mysql[/cc]

Дальше редактируем таблицу:

[cc lang=”bash”]mysql> update user set Password=PASSWORD(‘новый_пароль’) where User=’root’;[/cc]

Сбрасываем привилегии, для того, чтобы изменения вступили в силу:

[cc lang=”bash”]mysql> flush privileges;[/cc]

Давим ctrl-d для выхода. Затем перезапускаем MySQL сервер:

[cc lang=”bash”]sudo /etc/init.d/mysql restart[/cc]

Удачи!

mysql задать номер auto_increment

И так. хотим чтоб поля в таблице с auto_increment в Mysql начинался например со 100

Всё просто
[cc lang=”mysql”]
ALTER TABLE tbl_name AUTO_INCREMENT = 100
[/cc]