12 заметок с тегом
mysql РСС
14 августа 2011, 16:48
Recover MySQL root Password
Вы на новом серваке, у вас рут, но пароля нет, или вы его забыли, попасть в БД нельзя. Просто нужно выполнить вот такую последовательность ;)
- /etc/init.d/mysql stop
- mysqld_safe —skip-grant-tables
- mysql -u root
- Теперь вы в мускуле выполняете следующие команды
mysql> use mysql;
mysql> update user set password=PASSWORD(«NEW-ROOT-PASSWORD») where User=’root’;
mysql> flush privileges;
mysql> quit
- /etc/init.d/mysql stop
- /etc/init.d/mysql start
нет комментариев
27 мая 2011, 18:38
PHP: MySQL get FOREIGN KEY
$result = mysql_query("SHOW CREATE TABLE $table_name"); while ($rowI = mysql_fetch_assoc($result, MYSQL_NUM)) { if(preg_match_all( '/FOREIGN KEY \(`(.*)`\) REFERENCES `(.*)` \(`(.*)`\)/', $rowI[1], $matchArr)) { printr($matchArr); } }
6 мая 2011, 13:35
MySQL: error #1235
Когда пытаешься выполнить например такой запрос:
Получаешь чудо ошибку. Ошибка эта гласит:
Когда идём в мануал, там сразу же лежит решение. Нам просто нужно использовать АЛИАС, что бы бля сделать тоже самое:
UPDATE `learn_answer` SET `QUESTION_ID` = QUESTION_ID - 1 WHERE `learn_answer`.`ID` IN ( SELECT ID FROM `learn_answer` WHERE `QUESTION_ID` > 367 )
Получаешь чудо ошибку. Ошибка эта гласит:
#1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
Когда идём в мануал, там сразу же лежит решение. Нам просто нужно использовать АЛИАС, что бы бля сделать тоже самое:
UPDATE `learn_answer` SET `QUESTION_ID` = QUESTION_ID - 1 WHERE `learn_answer`.`ID` IN ( SELECT * FROM ( SELECT ID FROM `learn_answer` WHERE `QUESTION_ID` > 367 ) Alias )
10 марта 2011, 13:49
Мускул апдейт, ORDER BY RAND() не работает / not work
После обновления мускула, просто перестал работать такой запрос, все время одно и тоже число :)
Вместо NOW() можно вставить и UNIX_TIMESTAMP(), но блин, может и не помочь, если часто обращаться.
SELECT * FROM your_table ORDER BY RAND() LIMIT 1; #Теперь нужно так: SELECT * FROM your_table ORDER BY RAND(NOW()) LIMIT 1;
Вместо NOW() можно вставить и UNIX_TIMESTAMP(), но блин, может и не помочь, если часто обращаться.
27 января 2011, 16:22
Обновления скриптов
- Заканчивая курить мануал по мускулу, и продолжая обновлять старые проекты новыми ЦМСками, всплыло пару багов, и добавилось фич — в итоге обновил вчерашний скрипт.
- Ещё переписал Регексп-тестер для PHP
- Так же апнул свою коллекцию утилиток
27 января 2011, 12:29
Mysql show create
mysql> show create database AAA; +----------+-----------------------------------------------------------------------------------+ | Database | Create Database | +----------+-----------------------------------------------------------------------------------+ | AAA | CREATE DATABASE `AAA` /*!40100 DEFAULT CHARACTER SET cp1251 COLLATE cp1251_bin */ | +----------+-----------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> show create table charset_test2; +---------------+------------------------------------------------------------------------------+ | Table | Create Table | +---------------+------------------------------------------------------------------------------+ | charset_test2 | CREATE TABLE `charset_test2` ( `str` varchar(20) collate cp1251_bin default NULL, `str2` varchar(20) character set cp1251 default NULL ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin | +---------------+------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
26 января 2011, 19:02
PHP&MYSQL:Сравнение нескольких таблиц в БД и генерация скрипта обновления
Полгодика назад я написал артикль на тему сравнение таблиц в двух БД (и больше), основная идея которого была в том, что бы быстро сравнить 2 таблицы одинаковой системы с разными версиями и обновить старую БД. Делал всё руками, так как изменений было не много.
А тут настал час, когда нужно проделать тоже, но руками это будет адски долго. Уделив 2 часа на курение мускул-синтаксиса, я на коленке написал, так сказать, версию 2.0 :)
Полная генерация «апдейт ескуель»:
А тут настал час, когда нужно проделать тоже, но руками это будет адски долго. Уделив 2 часа на курение мускул-синтаксиса, я на коленке написал, так сказать, версию 2.0 :)
Полная генерация «апдейт ескуель»:
- альтер чендж
- альтер адд
- криейт тейбл
- адд индексес
- ремув индексес
- сам УИ импрувементс
9 июня 2010, 10:18
Сравнение таблиц в двух БД (и больше)
Когда дохера работы, начинаешь страдать такой ерундой :)Раз в несколько месяцев приходится сравнивать БД, и каждый раз в ручную. Один даже раз софт сутки искал, но он ужасен, весь. Немного пострадав, минут 30, получился такой код:
- собираем всё в масcив;
- выводим всё красиво в табличках;
- подключаем jQ и делаем удобную «обёрточку»;
- ...
- Profit
$user = "root"; $userp = ""; mysql_connect("localhost", $user, $userp) or die(mysql_error()); $table2compare = array("test1", "test2"); $comparedtables = array(); $i = 0; foreach ($table2compare as $tablename){ $comparedtables["title"][$i] = $tablename; $db = mysql_query("SHOW TABLES IN $tablename"); while($dbt = mysql_fetch_array( $db )){ $table = mysql_query("SHOW COLUMNS FROM $dbt[0] FROM $tablename "); while($tbf = mysql_fetch_array( $table )) $comparedtables["tables"][$dbt[0]][$i][] = $tbf; } $i++; } echo "<table><tr>"; for ($j = 0; $j < $i; $j++) echo "<td>".$comparedtables["title"][$j]."</td>"; echo "</tr>"; foreach ($comparedtables["tables"] as $table => $fields) { echo "<tr>"; for ($j = 0; $j < $i; $j++) { if ($j > 0) $eq = $fields[$j] == $fields[0]; else $eq = true; echo "<td valign='top' ".(!$eq ? "style='background: #fcc;'" : "").">"; if (empty($fields[$j])) continue; echo "<span>$table</span><br><table rules=all frame=box cellpadding='2'> <tr> <td>Field</td> <td>Type</td> <td>Null</td> <td>Key</td> <td>Default</td> <td>Extra</td> </tr>"; foreach ($fields[$j] as $field) echo "<tr> <td>$field[0]</td> <td>$field[1]</td> <td>$field[2]</td> <td>$field[3]</td> <td>$field[4]</td> <td>$field[5]</td> </tr>"; echo "</table></td>"; } echo "</tr>"; } echo "</table>"; mysql_close(); <script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script> <script type="text/javascript"> $(function(){ $("table table").hide(); $("table span").click(function(){ $(this).next().next().toggle(); }).css({"cursor":"pointer"}); }); </script>
13 декабря 2009, 14:03
Утилит полезных пост 2
Сегодня речь пойдёт о утилитах для Мускула (MySQL).
Первая это php-утилита Sypex Dumper — универсальный дампер БД (сделан нашими ребятами)
Первая это php-утилита Sypex Dumper — универсальный дампер БД (сделан нашими ребятами)
- можно просто и быстро создать резервную копию (бэкап, дамп)
- работает очень быстро с огромными БД
- есть куча фич (свой cmd, cron)
- очень простая и удобная
- установка — просто залил на сервер
- сохранение/загрузка результатов
- експорт в SQL и XML
- в демке всё круто видно %)
11 декабря 2009, 13:13
Утилит полезных пост
Первая это php-утилита Admiter
- php MySQL Admin одним файлом, всегда мечтал ;)
- умеет всё что нужно, но не такой мощный как PhpMyAdmin
- она от автора супер PNG-fix для ИЕ6
- css-selectors для выбора применяемых элементов
- работает очень быстро и просто, одни бонусы :)
- умеет за одно делать прозрачными png-рисунки
28 июля 2009, 20:23
MySQL и NULL (заблуждения)
В мускуле сравнить с NULL(равно) или отрицать от NULL(неравно), нельзя, вернее бесполезно ;) Можно только сопоставить с помощью IS или IS NOT, тогда мы получим результат ;)
То есть так не работает
То есть так не работает
SELECT * FROM table WHERE column = NULL; SELECT * FROM table WHERE column != NULL;А вот так работает
SELECT * FROM table WHERE column IS NULL; SELECT * FROM table WHERE column IS NOT NULL;
26 мая 2008, 15:17
Книги по програмингу (старенькие, запыленные)
Книги по MySQL
Структуризированный язык запросов (SQL)
Системы обработки информации — язык баз данных SQL
MySQL и mSQL
Введение в SQL
Введение в реляционные базы данныx
ОСНОВЫ ПРОЕКТИРОВАНИЯ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ
Версия пакета MySQL : 3.20.29
Мартин Грубер: Понимание SQL
Книги по CGI
Системы обработки информации — язык баз данных SQL
MySQL и mSQL
Введение в SQL
Введение в реляционные базы данныx
ОСНОВЫ ПРОЕКТИРОВАНИЯ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ
Версия пакета MySQL : 3.20.29
Мартин Грубер: Понимание SQL
CGI Developer’s Guide
CGI Programming Unleashed
CGI reference
CGI — Общий Интерфейс Шлюзов
Oписание CGI
CGI.pm — a Perl5 CGI Library
Книги по HTML
CGI Programming Unleashed
CGI reference
CGI — Общий Интерфейс Шлюзов
Oписание CGI
CGI.pm — a Perl5 CGI Library
HTML учёбник
Изучение HTML 3.2 на примерах
HTML-справочник
Практическое руководство по HTML
Словарь тагов
Руководство по стилям для создания online гипертекста
Clean up your Web pages with HTML TIDY
Книги по CSS
Книги по JS
Изучение HTML 3.2 на примерах
HTML-справочник
Практическое руководство по HTML
Словарь тагов
Руководство по стилям для создания online гипертекста
Clean up your Web pages with HTML TIDY
Центром Информационных Технологий: JavaScript
Практическое введение в программирование на JavaScript
ВВЕДЕНИЕ В JAVASCRIPT
JavaScript Bible 4th Edition
JS object model
Руководство по JavaScript
JavaScript: Краткое введение и справочникПримеры!
Книги по PHP
Практическое введение в программирование на JavaScript
ВВЕДЕНИЕ В JAVASCRIPT
JavaScript Bible 4th Edition
JS object model
Руководство по JavaScript
JavaScript: Краткое введение и справочникПримеры!
