SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 04.06.2009 10:21:01

livgon
Участник
Зарегистрирован: 04.06.2009
Сообщений: 1

Заменить в базе слова..

Подскажите команду для ssh чтобы по всей базе заменить слова domen.ru на domen.com

Неактивен

 

#2 04.06.2009 15:41:14

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Заменить в базе слова..

Команды mysql можно выполнять, используя ключ -e:

mysql -e "SELECT 1";

соответственно, вместо SELECT 1 - любая другая строка SQL-запроса.
Однако то, что Вы написали, одним запросом не сделаешь. Чтобы по всей базе - это надо процедуру писать (хотя её тоже можно потом из ssh выполнить). Можно по отдельным столбцам определенной таблицы.

Неактивен

 

#3 04.06.2009 21:00:03

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Заменить в базе слова..

ssh server "mysqldump -B basename | sed 's/domen.ru/domen.com/' >file; mysql <file"

Может быть очень жесткой по отношению к базе. Без временного файлика не получится на базе больше 65к. wink
Разумеется, в это время на сервер ничего писать нельзя. И вообще способ плохой. Правильнее — менять обдуманно.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson