http://mtaalamu.ru
С базой данных в консоли mysql делаем вот что:
use наша-база;
alter database character set utf8;
alter database collate utf8_general_ci;
Теперь необходимо сделать массовое изменение кодировки таблиц. Формируем текст с нужными нам запросами:
]]>SELECT CONCAT('ALTER TABLE ',TABLE_SCHEMA,'.',TABLE_NAME,' CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;') FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'наша-база';
Скачиваем исходники, распаковываем. Я пользуюсь bash, в sh данная команда не будет работать корректно:
]]>CC=gcc CFLAGS="-O2 -fno-strength-reduce" CXX=gcc CXXFLAGS="-O2 -fno-rtti -fno-exceptions -felide-constructors -fno-strength-reduce" ./configure --prefix=/usr/local/mysql --enable-assembler
gmake
gmake install
yoshinorimatsunobu.blogspot.com/2010/10/using-mysql-as-nosql-story-for.html]]>
]]>
<?php
$db_server = "localhost"; // hostname MySQL server
$db_username = "username"; // username MySQL server
$db_password = "password"; // password MySQL server
$db_name = "database"; // database name
$pattern = "pattern_"; // search string
$new_pattern = "new_pattern_"; // replacement string,
// can be empty
// login to MySQL server
$link = mysql_connect( $db_server, $db_username, $db_password);
if (!$link)
{
die('Could not connect: ' . mysql_error());
}
// list all tables in the database containing the search pattern
$sql = "SHOW TABLES FROM `" . $db_name . "`";
$sql .= " LIKE '%" . $pattern . "%'";
$result = mysql_query ( $sql, $link );
if (!$result)
{
die("Invalid query: " . mysql_error( $link ));
}
$renamed = 0;
$failed = 0;
while ( $row = mysql_fetch_array ($result) )
{
// rename every table by replacing the search pattern
// with a new pattern
$table_name = $row[0];
$new_table_name = str_replace ( $pattern, $new_pattern, $table_name);
$sql = "RENAME TABLE `" . $db_name . "`.`" . $table_name . "`";
$sql .= " TO `" . $db_name . "`.`" . $new_table_name . "`";
$result_rename = mysql_query ( $sql, $link );
if ($result_rename)
{
echo "Table `" . $table_name . "` renamed to :`";
echo $new_table_name . "`.\n";
$renamed++;
}
else
{
// notify when the renaming failed and show reason why
echo "Renaming of table `" . $table_name . "` has failed: ";
echo mysql_error( $link ) . "\n";
$failed++;
}
}
echo $renamed . " tables were renamed, " . $failed . " failed.\n";
// close connection to MySQL server
mysql_close( $link );
?>
Нашел здесь.]]>
UPDATE `prefix_topic_content` SET `topic_text` = REPLACE(`topic_text`, "http://old.ru", "http://new.ru")
UPDATE `prefix_topic_content` SET `topic_text_short` = REPLACE(`topic_text_short`, "http://old.ru", "http://new.ru")
UPDATE `prefix_topic_content` SET `topic_text_source` = REPLACE(`topic_text_source`, "http://old.ru", "http://new.ru")
UPDATE `prefix_topic_comment` SET `comment_text` = REPLACE(`comment_text`, "http://old.ru", "http://new.ru")
Спасибо Mihael за совет!]]>
mysql -uroot -p
use имя-базы;
Если забыли префикс:
show tables;
Меняем на пароль ‘password’:
]]>UPDATE wp_users SET user_pass='5f4dcc3b5aa765d61d8327deb882cf99' WHERE ID = 1;
http://livestreet.ru/blog/dev_documentation/366.html
На Debian Lenny отличаются пути установки Sphinx:
Создаем индексы (я перед этим создал соответствующие директории):
/usr/local/bin/indexer --all
В /etc/crontab добавляем индексацию топиков и комментариев:
12 */3 * * * root /usr/local/bin/indexer --rotate topicsIndex
*/50 * * * * root /usr/local/bin/indexer --rotate commentsIndex
(означает индексацию топиков каждые 3 часа с запуском процесса на 12ой минуте часа и индексацию комментариев каждые 50 минут).
Запускаем командой:
/usr/local/bin/searchd --config /usr/local/etc/sphinx.conf
Эту же команду добавляем в /etc/rc.local.]]>