directman

<<< Назад

Полезные sql запросы

1) Список циклов системы

SELECT properties.* FROM properties WHERE 1 AND TITLE LIKE 'cycle%Run' ORDER BY TITLE

2) Удалить все циклы, в том числе задвоенные

DELETE  FROM properties WHERE 1 AND TITLE LIKE 'cycle%Run' ORDER BY TITLE

новые циклы сами добавятся.

3) Сменить тип таблицы на MyISAM

ALTER TABLE cached_values engine=MyISAM;

Чтобы новые таблицы создавались по умолчанию в нужном нам формате в my.ini вставляем строчку (или правим, если она там уже есть):

default-storage-engine = MYISAM

В чем разница?

MyISAM поддерживает сжатие таблиц в отличии от InnoDB.
MyISAM имеет встроенный полнотекстный поиск в отличии от InnoDB.
InnoDB поддерживает транзакции в отличии от MyISAM.
InnoDB поддерживает блокировки уровня строки (MyISAM - только уровня таблицы).
InnoDB поддерживает ограничения внешних ключей (MyISAM - нет).
InnoDB более надежна при больших объемах данных.
InnoDB в теории немного быстрее.

Еще ссылка на сравнение: http://irbis-school.com/blog/full/21/vybor-dvizhka...

Резюмируя - InnoDB приоритетнее там, где важна целостность данных. При использовании транзакций и внешних ключей база данных становится более монолитной, исчезает опасность фантомных записей или прерванных операций. А целостность данных важна везде, где есть модификация. Запись/обновление/удаление. Там где этих операций нет, MyISAM может оказаться предпочтительнее по скорости выборки. Выгоднее по производительности MyISAM может оказаться при массированных инсертах, однако опять же есть опасность "поломки", что почти всегда важнее скорости.

Список доступных движков mysql

SHOW STORAGE ENGINES 

Если вылезла ошибка Unknown storage engine 'InnoDB', обычно помогагет такая манипцуляция: https://bogachev.biz/2015/05/13/%D0%98%D1%81%D0%BF...

MariaDB 10.0.хх

CREATE TABLE `gtid_slave_pos` (
  `domain_id` int(10) unsigned NOT NULL,
  `sub_id` bigint(20) unsigned NOT NULL,
  `server_id` int(10) unsigned NOT NULL,
  `seq_no` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`domain_id`,`sub_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Replication slave GTID state';
CREATE TABLE `innodb_index_stats` (
  `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `index_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `stat_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `stat_value` bigint(20) unsigned NOT NULL,
  `sample_size` bigint(20) unsigned DEFAULT NULL,
  `stat_description` varchar(1024) COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`database_name`,`table_name`,`index_name`,`stat_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE `innodb_table_stats` (
  `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `n_rows` bigint(20) unsigned NOT NULL,
  `clustered_index_size` bigint(20) unsigned NOT NULL,
  `sum_of_other_index_sizes` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`database_name`,`table_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

MySQL 5.6.xx

CREATE TABLE `innodb_index_stats` (
  `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `index_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `stat_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `stat_value` bigint(20) unsigned NOT NULL,
  `sample_size` bigint(20) unsigned DEFAULT NULL,
  `stat_description` varchar(1024) COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`database_name`,`table_name`,`index_name`,`stat_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;
CREATE TABLE `innodb_table_stats` (
  `database_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `table_name` varchar(64) COLLATE utf8_bin NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `n_rows` bigint(20) unsigned NOT NULL,
  `clustered_index_size` bigint(20) unsigned NOT NULL,
  `sum_of_other_index_sizes` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`database_name`,`table_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;
CREATE TABLE `slave_master_info` (
  `Master_id` int(10) unsigned NOT NULL,
  `Number_of_lines` int(10) unsigned NOT NULL,
  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Master_log_pos` bigint(20) unsigned NOT NULL,
  `Host` text CHARACTER SET utf8 COLLATE utf8_bin,
  `User_name` text CHARACTER SET utf8 COLLATE utf8_bin,
  `User_password` text CHARACTER SET utf8 COLLATE utf8_bin,
  `Port` int(10) unsigned NOT NULL,
  `Connect_retry` int(10) unsigned NOT NULL,
  `Enabled_ssl` tinyint(1) NOT NULL,
  `Ssl_ca` text CHARACTER SET utf8 COLLATE utf8_bin,
  `Ssl_capath` text CHARACTER SET utf8 COLLATE utf8_bin,
  `Ssl_cert` text CHARACTER SET utf8 COLLATE utf8_bin,
  `Ssl_cipher` text CHARACTER SET utf8 COLLATE utf8_bin,
  `Ssl_key` text CHARACTER SET utf8 COLLATE utf8_bin,
  `Ssl_verify_servert_cert` tinyint(1) NOT NULL,
  `Heartbeat` float NOT NULL,
  `Bind` text CHARACTER SET utf8 COLLATE utf8_bin,
  `Ignored_server_ids` text CHARACTER SET utf8 COLLATE utf8_bin,
  `Uuid` text CHARACTER SET utf8 COLLATE utf8_bin,
  `Retry_count` bigint(20) unsigned NOT NULL,
  `Ssl_crl` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Revocation List (CRL)',
  `Ssl_crlpath` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path used for Certificate Revocation List (CRL) files',
  PRIMARY KEY (`Master_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Master Information';
CREATE TABLE `slave_relay_log_info` (
  `Master_id` int(10) unsigned NOT NULL,
  `Number_of_lines` int(10) unsigned NOT NULL,
  `Relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Relay_log_pos` bigint(20) unsigned NOT NULL,
  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Master_log_pos` bigint(20) unsigned NOT NULL,
  `Sql_delay` int(11) NOT NULL,
  PRIMARY KEY (`Master_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Relay Log Information';
CREATE TABLE `slave_worker_info` (
  `Id` int(10) unsigned NOT NULL,
  `Relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Relay_log_pos` bigint(20) unsigned NOT NULL,
  `Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Master_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Checkpoint_relay_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  `Checkpoint_master_log_pos` bigint(20) unsigned NOT NULL,
  `Checkpoint_seqno` int(10) unsigned NOT NULL,
  `Checkpoint_group_size` int(10) unsigned NOT NULL,
  `Checkpoint_group_bitmap` blob NOT NULL,
  PRIMARY KEY (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Worker Information';

Список пользователей SELECT User FROM mysql.user;

Восстановить пароль рут https://www.digitalocean.com/community/tutorials/h...

CREATE USER 'pi'@'localhost' IDENTIFIED BY 'Majordomo!1';

GRANT ALL PRIVILEGES ON . TO 'newuser'@'localhost';
https://www.digitalocean.com/community/tutorials/m...

GRANT ALL PRIVILEGES ON . TO 'newuser'@'localhost';

4) Решение проблемы Incorrect datetime value: '0000-00-00 00:00:00' for column 'TIMESTAMP_X' at row 1

SET GLOBAL sql_mode='';

не совсем sql, но интересный пример получения времени жизни цикла

echo (int)getGlobal('cycle_alarmclock' . 'Run');

Создание копии страктуры базы данных

CREATE TABLE new_database.new_table LIKE old_database.old_table

Ошибка Warning: mysqli::mysqli() [mysqli.mysqli]: (08004/1040): Too many connections in

SET GLOBAL max_connections = 200; 

Обсуждение (4) (4)

Смотрите так же:
16.09.2019 Примеры разметки Markdown
14.09.2019 Краткий обзор выключателей, в том числе Sonoff T4EU1C
13.09.2019 Сценарий для канала @MajorDoMo_feed
09.09.2019 Делаем majordroid лаунчером андройд по-умолчанию.
04.09.2019 Реализация сценария "кто-то пришел"
02.09.2019 Отправляем график hightcharts свойства любого объекта в телеграмм
27.08.2019 Управление громкостью терминалов через телеграмм
26.08.2019 Полноценная консоль в браузере (wetty)
16.08.2019 Точечное регулирование радиаторов отопления
18.08.2019 Собираем голосовой помощник на базе WM8960 Audio HAT и raspberry pi zero w
13.08.2019 Общедоступная ссылка с закатом, рассветом и текущей погодой
24.07.2019 Самый дешевый вариант видеонаблюдения
22.07.2019 Запуск MajorDroid на одноплатниках, старых планшетах, телефонах.
22.07.2019 Запуск Majordroid на старом железе
15.07.2019 Устанавливаем opencv и необходимые библиотеки на ubuntu 18.04 без использования python
05.07.2019 Решение проблемы Incorrect integer value: '' for column 'ID' at row 1
04.07.2019 О приборах учета и удаленном снятии показаний (вода и газ)
04.07.2019 О приборах учета и удаленном снятии показаний (электричество)
03.07.2019 Конвертируем rs-485 в TCP-IP
24.06.2019 Наблюдение за радиационной обстановкой в регионе
06.06.2019 Меню пылесоса Xiaomi в телеграмм
06.06.2019 Удобный просмотр данных сенсоров через телеграмм
06.06.2019 Просмотр камер через телеграмм
06.06.2019 Управление светом через телеграмм
06.06.2019 Колор-пикер для телеграм
06.05.2019 Список символов emoji
17.04.2019 Установка z-way на Ubuntu
16.04.2019 Решение проблемы ERROR 1040 (HY000): Too many connections
09.09.2018 Список домофонов с IP интерфейсом
29.08.2018 Список кондиционеров с wifi
29.08.2018 Список доступных к покупке IP колонок
15.07.2018 Интеграция датчика Mi flora plant к системе УД MAJORDOMO
13.06.2018 Полезные команды для работы с git
27.05.2018 преобразование html страниц в картинку и отправка в телеграмм
23.05.2018 Создание образа nand памяти orange pi plus2
16.05.2018 Команды для работы с базой данных напрямую
13.04.2018 Индикаторы о заряде батареек без использования картинок
06.04.2018 Установка и настройка python на windows для работы систем распознавания
05.04.2018 Распознавание лиц подходящих к двери людей с помощью ip камеры и открытие двери, если нейросеть признала своего
04.04.2018 Управление таймерами выключения света
04.04.2018 Управление RGB контроллером на базе ESP8266
03.04.2018 Увеличение разрешения китайских камер на чипе hi3516c H264
13.03.2018 Использование колонки google home в качестве терминала Majordomo
13.03.2018 Установка и подключение rtl usb донгла для чтения датчиков температуры и кнопок 433 мгц
13.03.2018 Настройка брокера MQTT
17.02.2018 Проект "умная входная дверь"
11.02.2018 Отправка всех значений свойства объекта в телеграм
21.12.2017 получение адреса по GPS координатам
21.12.2017 получение / передача GPS координат сервису livegps.com
21.12.2017 чтение мгновенных данных U,P, I электросчетчика милур 104
21.12.2017 Получение координат с маяков и gsm сигнализаций starline-online.ru

Екатеринбург, Россия

На форуме: directman66