AlexVK

Mysql 5.7.17
SQL state [HY000]; error code [1100]; Table 'table' was not locked with LOCK TABLES;

Голову сломал — и куды бечь, и чего чинить?
Воспроизводится только на одном RDSе

RA

Раньше на ubuntu 16.04 можно было поставить mysql 5.6 заменой названия версии дистрибудитва и он с 15.10 норм ставился. Теперь что-то сломали в зависимостях и mysql 5.6 был снесён при очередном обновлении.

Пробовал 5.7. Но т.к. в 5.7 починили/поломали работу с geometry, то лопатить код под 5.7 не хочется.
Поставил mariadb 10.2. И вздохнул спокойно. Всё работает и geometry в том числе.

PS Про geometry. Есть поля типа POINT, и в mysql 5.6 в эти поля можно было записать пустую строку. А 5.7 хочет видеть в этих полях только объект geometry. Вот такая обратная совместимость.

RA

К вопросу сколько символов выделять под фамилию
Пабло-Диего-Хосе-Франсиско-де-Паула-Хуан-Непомусено-Мария-де-лос-Ремедиос-Киприано-де-ла-Сантисима-Тринидад-Мартир-Патрисио-Клито-Руиз-и-Пикассо

SolderStain

шёл 2017 год. mariadb не может забиндится к заданному списку айпишников. нет, я понимаю астер — на него уже давно хуем махнул, но марийка, ну ты-то как? как так то!?

qrilka

эта гадина пишет в доках, что надо выставлять отпцию автодетекта для автодетекта кодировки, при этом, если не выставляешь никаких опций — использует автодетект, устанавливаешь (левую) опцию — автодетект отрубается.

luarviq

Поганый мускул так и не пофиксил баг с кривой функцией LOAD_FILE(), по крайней мере под centos. Как не грузила BLOB'ы без плясок, так и не грузит. Пришлось побайтово считывать бинарник и отдавать его запросу. И сделал я это, хахаха, (где ты там, вчерашний шеллофоб?) в связке shell+sed+awk опять. Как в старые добрые времена на HP-UX. Буде сей строгий дядя опять недоволен и обзывать меня неласково за ето, пропагандируя ООП как silverbullet, мы положим на его пролетарское ХО наш православно-мусульманско-буржуазный МПХ. По крайней мере, до тех пор, пока он не изучит smalltalk. И не пройдет онлайн-тест по написанию интерфейсов на С++ без использования наследования, на одних лишь темплейтах.
Лучшая БД, с которой я работал — это, безусловно IBM DB/2. Было это в 1999 году. ОС была AS/400. Этот ваш линупс ногтя ее не стоит. Жаль, что умерла.

segfault

habrahabr.ru
А почему некоторые выбирают mysql вместо postgresql? Вроде говорили, что у мускуля репликация лучше, но это не совсем правда, судя по статье. Ещё вспоминается невиданная, якобы, скорость движка InnoDB по сравнению с постгре. В установке и администрировании на локалхосте они одинаковы. Зачем кому-то понадобится испльзовать mysql в новом проекте, например?

qrilka

вообще кто-нибудь использует не постгрес, а мускул из хаскеля? Надоб не очень сложную базку навернуть, но джойны нужны, хотел esqueleto использовать, но смущает автомагический подход персистента к миграциям БД, а дублировать схему ещё где-то как-то очень не хочется

Evilways

Понадобилось за одним человеком чинить рекапчу. Как следствие, выпилить кучу спамеров из друпала, аж 22.5К. Оказалось относительно просто это замутить. В основном они обитали на одинаковых почтовых доменах,

Складываем в кучки ящики с одинаковыми почтовыми доменами и сортируем по размеру кучек:
MariaDB [asdf]> SELECT substring_index(mail, '@', -1), COUNT(*) AS MyCount from users GROUP BY substring_index(mail, '@', -1) ORDER BY MyCount DESC;

Ну и выпиливаем по имени домена:
MariaDB [asdf]> DELETE FROM users WHERE mail LIKE '%maildin.com';

В принципе можно даже так:
MariaDB [asdf]> DELETE FROM users WHERE mail LIKE '%.gq';

И даже как-нибудь так:
MariaDB [asdf]> DELETE FROM users WHERE mail LIKE '%s.com';

Спамеров на mail.ru и подобных можно выпилить методом исключения. Сначала надо взглянуть на логины:
MariaDB [asdf]> SELECT name FROM users WHERE mail LIKE '%mail.ru';

Записал тех, кто явно не спамер, далее удаляем всех, кроме них(имён было немного больше, сократил):
MariaDB [asdf]> DELETE FROM users WHERE mail LIKE '%mail.ru' AND name != 'ольга' AND name != 'Екатерина92' AND name != 'аня' AND name != 'admin' ;

Вероятно, это всё можно сделать более оптимально. Даже скорее всего, но как всегда времени разбираться не было. Зная реальных пользователей, можно было сразу указать выпилить всех, кроме них. Но всех 22.5К просматривать не вариант, да и реальные люди успели порегаться в процессе, так что по датам кромсать тоже не катит.

DespicableMe

pastebin.com
Зараза не вставляет данные.
Забыл уточнить, что

$tmpStr = "[[[51.652526019120394,39.1798995256424],[51.66555129808148,39.19534904956819],[51.65572930549071,39.2011855363846],[51.652526019120394,39.1798995256424]]]";
Такая строка приводится к нужному и виду и я пытаюсь её вставить.
Рабочий запрос выглядит примерно так: UPDATE `articles`
SET `bcoords`=
GeomFromText('POLYGON(51.65252601912 39.179899525642 , 51.665551298081 39.195349049568 , 51.655729305491 39.201185536385 , 51.65252601912 39.179899525642 )')
WHERE id = 2
Что делать?

DespicableMe

Anybody can help me?
I need store multipolygon from simle json like [[[51.659473623649205,39.201592693957046],[51.65976722246264,39.20219887319441],[51.65913331354108,39.20296598497267],[51.65889309309455,39.202359805735306],[51.659473623649205,39.201592693957046]]]
Yes, it's look like polygon, but in some cases it will be multiple polygon.
So, how I can store it in database using php5? Anybody can give right database query?

RA

Ебатушки-ребятушки
MySQL's utf8 encoding is not actual UTF-8. It's an encoding that is kinda like UTF-8, but only supports a subset of what UTF-8 supports. utf8mb4 is actual UTF-8.
А чтобы перейти с utf8 на utf8mb4 надо сделать 6 шагов
mathiasbynens.be

Но и этого мало. utf8mb4 не умеет fulltext индексы. А значит придётся делать одно поле utf8, а второе utf8mb4.
И это всё надо чтобы хранить в базе смайлики. Скажите мне что я не прав и можно сделать иначе.

CaufMAN

А почему в 99% случаев рассматривается связка похапе именно с мусклом? Чому не постгрес или скулайт? Или это обусловлено какими-то архитектурными решениями и пых в связке с мускулом куда производительнее, недели с др бд?