icon Посты по тегу mysql

Работаем с MySQL через командную строку

День добрый, друзья! :)

mysql -h 127.0.0.1 -u root -p  
  • h - хост базы данных, если коннектимся к локальной базе, этот параметр можно опустить
  • u - имя пользователя
  • p - пароль, его нужно будет ввести после нажатия enter

Сделать dump базы данных:

mysqldump -u [username] -p [password] [database] > [dump_name.sql]

[username] – имя пользователя который имеет доступ к базе данных.
[password] – пароль пользователя.
[database] – имя базы данных.
[dump_name.sql] – имя файла, дампа на выходе.

MySQL - изменение полей, структуры таблицы

Mysql alter add/drop index (добавление и удаление индексов):

ALTER TABLE sites 
  DROP INDEX keyname;

// эквивалентно DROP INDEX
ALTER TABLE sites 
  DROP KEY keyname;

ALTER TABLE categories
  DROP PRIMARY KEY,
  ADD  PRIMARY KEY (`site_id`,`category_id`);

 

Запросы инъекции для mysql

В mysql вместо ожидаемого хэша (строка из 40 букво-цифр) нашёл следующие данные. Я так понимаю, кто то хотел выполнить mysql инъекцию. Далее будут примеры строк для mysql-инъекций, которыми хотели взломать сайт (домен не разглашаю). Хоть инъекция и не прошла, но всё же проверку строки на ожидаемый формат я добавил.

Доступ к mysql из-вне

Во-первых, изначально mysql слушает только localhost. Нужно исправить это в конфигурационном файле mysql my.cnf (обычно в линуксах путь /etc/mysql/my.cnf). В my.cnf находим строку:

bind-address = 127.0.0.1

И заменяем её на:

bind-address = 0.0.0.0

Теперь мы можем коннектиться к mysql с любого ip. При этом для супер-пользователя root доступ из-вне под пустым паролем остаётся закрыт.

Mysql перенос таблиц из одной базы данных в другую

Делаем дамп таблицы с помощью mysqldump и сразу же отправляем его в другую базу данных:

mysqldump -uroot database1 my_table | mysql -u root database2

MacOS сбросить root пароль для MySQL

Я установил mysql-сервер на свою macOS Mojave, скачав .dmg пакет с официального сайта MySQL.

При установке mysql, установщик не запрашивал никакого root пароля, но в конце выдал сообщение, что пароль для root - dufQqAt00Z, и сообщение сохранить этот пароль.

Я сохранил себе этот пароль (возможно, не скопировав его полностью?). 

Анализ производительности MySQL с использованием performance_schema

performance_schema — мощный встроенный в MySQL инструмент, который вы можете использовать для анализа запросов, производительности и, как следствие, для улучшения производительности базы данных.

По своей сути, performance_schema, это автоматически созданная MySQL база данных, которая внутри себя содержит множество служебных таблиц, в которые MySQL любезно пишет данные.

НОВЫЕ ПОЛЬЗОВАТЕЛИ