- Работаем с MySQL через командную строку
- Что делать если вижу знаки вопросов вместо текста в MySQL?
- Как сделать бэкап базы mysql через консоль Linux?
- Заключение
- Комментарии 2
- Установка MySQL Linux — настройка и запуск
- Установка MySQL в трех популярных дистрибутивах
- Работа с MySQL базами данных в консоли Linux
- Подключение
- Создание
- Просмотр
- Операции
- Команды MySQL в Linux
- Работа с базами, таблицами — просмотр, удаление, редактирование записей. Консоль
- Пользователи, пароли сервера MySQL — добавление, изменение пользователей и паролей. Консоль
- Резервные копии — создание, восстановление бд . Консоль
Работаем с MySQL через командную строку
День добрый, друзья! 🙂 Для подключения к mysql наберите
- h — хост базы данных, если коннектимся к локальной базе (по ip 127.0.0.1), этот параметр можно опустить
- u — имя пользователя
- p — пароль, его нужно будет ввести после нажатия enter
Например, если нужно законнектиться к локальной быдухе под root`ом и пароль у него не установлен (пустой пароль — это плохо), достаточно написать
Если на экране появляется приветствие mysql, то всё прошло ok.
Для выхода из командной строки mysql можно написать exit, в linux достаточно нажать ctrl+C. Теперь можно писать любые mysql-запросы. Чтобы запрос выполнился, в конце обязательно нужно поставит точку с запятой «;». При написании длинных запросов удобно делать enter`ом переход на следующую строку. А после полного написание запроса поставить «;» и нажать «enter».
Для работы с конкретной базой данных нужно её выбрать с помощью оператора use. Показать все базы данных:
Результатом будет что то вроде этого:
Выбрать базу данных jeka:
Посмотреть названия всех таблиц в конкретной базе данных (после выполнения use):
Просмотреть структуру таблицы (имена и тип полей):
Достать информацию о юзере с >
Бэкап структуры таблицы, а точнее sql-запрос на её создание
Если в конце запроса поставить не ; а \G, то результат будет показан другим образом — иногда весьма удобно, если таблица имеет много полей:
Посмотреть, какие запросы выполняются в данный момент на сервере MySQL:
Учтите, что будут отображены еще не выполненные (активные) запросы, поэтому show processlist; актуальная команды только для нагруженных БД, в других случаях маловероятно, что команда что то покажет.
Подробнее о том, как изменять структуру mysql-таблиц (alter table).
Что делать если вижу знаки вопросов вместо текста в MySQL?
Это проблема с кодировкой. Вероятно в my.ini файле mysql-сервера не добавлено:
Нужно добавить в .ini файл либо выполнить в консоли команду «SET NAMES utf8», после чего во время текущей сессии отображаться русский текст в mysql-консоли будет без проблем:
Как сделать бэкап базы mysql через консоль Linux?
Сделать бэкап базы database в файл dump_name.sql
[username] – имя пользователя который имеет доступ к базе данных.
[password] – пароль пользователя.
[database] – имя базы данных.
[dump_name.sql] – имя файла, дампа на выходе.
Развернуть базу из файла через командную строку
[username] – имя пользователя который имеет доступ к базе данных.
[password] – пароль пользователя.
[database] – имя базы данных.
[dump_to_restore.sql] – имя файла, из которого поднимаем базу
Сделать дамп структуры одной таблицы mysql (без данных):
Например, задампим таблицу users из базы данных mydatabase:
Развернуть mysql-dump в БД с именем database_name:
Ещё одна интересная штука. Выполнять из консоли, не требуется предварительно подключаться к mysql (mysql>). Вывести список таблиц базы данных, не подключаясь непосредственно к mysql:
Заключение
Может показаться, что писать запросы в командной строке не удобно. Но это заблуждение. На слабых машинах phpmyadmin работает не так шустро как хотелось бы. Тем более не на всех серверах стоят морды с phpmyadmin, adminer и т.д. Linux + mysql в терминале реально повысили мою производительность.
- Как добавить AI в существующую таблицу MySQL? 2 ответа
- Установить mysql 5.6 на travis Решено!
- Получить комментарии к полям mysql-таблицы 1 ответ
- На PHP Access denied for user ‘root’@’localhost’, хотя через консоль подключается 1 ответ
- ERROR 9006: ProxySQL Error: connection is locked to hostgroup 10 but trying to reach hostgroup 11 Решено!
- MySQL — изменение полей, структуры таблицы 0 комментариев
- Запросы инъекции для mysql 0 комментариев
- Доступ к mysql из-вне3 комментария
- Mysql перенос таблиц из одной базы данных в другую 0 комментариев
- Анализ производительности MySQL с использованием performance_schema 0 комментариев
Комментарии 2
Viktor, спасибо. Судя по скринам, штука интересная.
Правда, уж больно много зависимостей она имеет.. Как решу проблему с зависимостями, отпишусь.
eugene-PC:www eugene$ eugene$ sudo rpm -ivh
Источник
Установка MySQL Linux — настройка и запуск
Система управления базами данных MySQL является очень универсальным программным продуктом. На ее основе можно создать движок для сайта, подключить имеющуюся базу данных, брать оттуда данные и вносить изменения.
В ОС Linux система работает в качестве демона — запущенного сервера.
Установка MySQL Linux производиться из консоли, минуя графические интерфейсы, во-первых надо знать подобную программу хорошо, если уж возникла потребность ей пользоваться, во-вторых нужно произвести базовые настройки, которые потом может придется корректировать.
Думается, аргументов хватит.
В различных дистрибутивах установка и запуск MySQL Linux производится немного по-разному, а настройка MySQL сервера одинакова.
Все действия производится от имени суперпользователя.
Установка MySQL в трех популярных дистрибутивах
Сейчас Gentoo нормально тянет нужные пакеты, если в выводе этой команды потребуется добавить что то и MySQL не установится, нужно добавить строки, подсвеченные зеленым шрифтом в файл /etc/portage/package.use, сохранить его и снова произвести установку.
Далее производим начальную настройку, генерируя конфигурацию по умолчанию
Запуск MySQL Linux:
добавляем его в автозагрузку:
Далее запускам демона и создаем первичную конфигурацию добавляем его в автозапуск:
Debian подобные системы, тоже устанавливаем, запускаем сервер, делаем его автоматически стартуемым, только первичная конфигурация создается не отдельной командой, а в процессе всей установки
Установка MySQL Linux закончена, но в процессе выполнения приведенных команд при запуске скрипта настройки конфигурации по умолчанию потребуется ввести несколько параметров. Вот достаточно безопасная настройка MySQL Linux сервера:
первый вопрос пропускаем, нажимаем Enter, на втором устанавливаем пароль для root – администратора сервиса, на третьем удаляем анонимного пользователя (жмем букву Y), на 4-м разрешаем соединения с удаленными серверами, на 5-м — оставляем пока тестовую базу, и в завершении перезагружаем привилегии (опять жмем Y).
Затем смотрим таблицу пользователей командой:
Выйдет табличка в псевдографике, в ней должен остаться один пользователь root.
Если на компьютере настроен файрволл, то откроем на нем tcp-порт 3306 для MySQL на входящие и исходящие соединения.
Запуск MySQL Linux сервера после окончательной настройки
Далее надо сделать заново запуск MySQL Linux сервера, и уже можно работать.
Вводим в консоль MySQL, в консоли появится приглашение
Далее, вводя команды (сервис работает со стандартным языком MySQL-запросов), можно:
- SHOW DATABASES; -посмотреть существующие базы данных;
- CREATE DATABASE test2; — создать новую базу данных с именем test2;
- USE test2; — использовать для текущих изменений базу test2;
Можно составлять таблицы, заполнять их содержимым, настраивать связи, создавать запросы для извлечения данных, т.е. уже полноценно работать с базами данных.
Такая установка MySQL Linux довольно примитивна, обычно ставится сразу три пакета — php, веб-сервер и MySQL, так как они тесно взаимосвязаны. Такой метод позволяет управлять базами данных и веб-приложениями уже не в консоли, а в окне браузера.
Также рекомендуем Вам к прочтению статьи, имеющие к этой процедуре отношение:
Источник
Работа с MySQL базами данных в консоли Linux
Долгое время все основные операции с MySQL-базами я проводил в веб-интерфейсе — посредством обычной хостинг-панели и утилиты PhpMyAdmin. В таком формате все администрирование базы данных ложилось на плечи приложения PhpMyAdmin, которое написано на языке PHP и зависит от разных факторов, например конфигурации веб-сервера, версий программного обеспечения и самого PHP. Когда количество баз данных растет, а окружения постоянно меняются, MyPhpAdmin требует дополнительных ресурсов и настройки, иначе может работать не совсем стабильно, например срабатывают ошибки, лимиты и таймауты. Да и сам веб-интерфейс имеет свои ограничения, поэтому для серьезных задач профессионалы используют только командную строку. Как выяснилось, это намного быстрее, стабильнее и безопаснее. В этой заметке хочу поделиться основными командами для работы с MySQL/MariaDB в консоли VPS-сервера под управлением ОС Linux.
Подключение
mysql -u username -p #подключение к MySQL-серверу от имени пользователя
mysql -u username -p databasename #подключение к базе данных от имени ее пользователя
exit #покинуть базу данных и оборвать соединение с MySQL-сервером
Создание
CREATE DATABASE databasename; #создать базу данных с указанным именем
SHOW CREATE DATABASE databasename; #создание базы данных с выводом параметров
CREATE DATABASE `databasename` CHARACTER SET utf8 COLLATE utf8_general_ci; #создание базы данных с указанными параметрами (кодировка utf8)
CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘userpassword’; #создать пользователя базы данных с именем и паролем
GRANT ALL PRIVILEGES ON databasename.table_of_database TO ‘username’@’localhost’; #предоставить пользователю права доступа к базе данных и ее таблице
GRANT ALL PRIVILEGES ON databasename.* TO ‘username’@’localhost’; #предоставить пользователю права доступа ко всем таблицам указанной базы данных
GRANT ALL PRIVILEGES ON *.* TO ‘username’@’localhost’; #предоставить пользователю права доступа ко всем базам данных и таблицам
GRANT SELECT, INSERT, DELETE ON databasename.* TO ‘username’@’localhost’; #предоставить пользователю ограниченные права доступа с возможностью выбирать базу данных, вставлять строки в таблицы, удалять строки
FLUSH PRIVILEGES; #применить, чтобы установленные права доступа для пользователя вступили в силу
REVOKE ALL PRIVILEGES ON databasename.* TO ‘username’@’localhost’; #отменить все права доступа к указанной базе данных и всем ее таблицам для пользователя
Просмотр
SHOW DATABASES; #показать все базы данных
USE databasename; #перейти в указанную базу данных
SHOW TABLES; #показать все таблицы текущей базы данных
SELECT * FROM tablename; #показать содержание указанной таблицы базы данных
SELECT User FROM mysql.user; #вывести на экран всех пользователей MySQL
SELECT User, Host FROM mysql.user; #вывести на экран всех пользователей MySQL и их хосты
SELECT User, Host, Password FROM mysql.user; #вывести на экран всех пользователей MySQL, их хосты и пароли (количество параметров можно добавлять)
SHOW GRANTS; #просмотр всех привилегий активного пользователя
SHOW GRANTS FOR ‘username’@’localhost’; #показать права доступа (привилегии) для указанного пользователя базы данных
Операции
DROP DATABASE databasename; #удалить базу данных
DROP USER ‘username’@’localhost’; #удалить пользователя базы данных
SET PASSWORD FOR ‘username’@’localhost’ = PASSWORD(‘newpassword’); #установить пароль для пользователя базы данных
RENAME TABLE tablename TO newtablename; #переименовать название ранее выбранной таблицы базы данных (выбор с помощью USE)
DELETE FROM tablename WHERE fieldname = ‘name’; #удалить строку из указанной таблицы
ALTER TABLE tablename DROP INDEX columnname; #удалить столбец из базы данных
TRUNCATE TABLE Tablename; #полное удаление содержимого таблицы базы данных
mysqldump -u username -p databasename > dump_file.sql #создание резервной копии базы данных (дамп)
mysqldump -u root -p -B dbname1 dbname2 > dump.sql #создание дампа выбранных баз данных
mysqldump -u root -p -A > dump.sql #дамп всех баз данных
mysql -u root -p namedatabase #восстановление или импорт дампа базы данных
SHOW GLOBAL STATUS; #вывести на экран статистику MySQL-базы данных
Источник
Команды MySQL в Linux
Ниже предоставлен список наиболее полезных и часто используемых команд MySQL с примерами.
mysql в начале строки означает, что команда выполняется после входа вMySQL.
Символ # или $ в начале строки означает, что команда выполняется из командной строки.
Что бы проверить статус сервера MYSQL выполните:
для FreeBSD:
в CentOS / RHEL:
Что бы подключиться к серверу MySQL из консоли, если сервер MySQL находится на том же хосте:
Работа с базами, таблицами — просмотр, удаление, редактирование записей. Консоль
Создать базу данных на MySQL сервере:
Показать список всех баз данных на сервере MySQL:
Отобразить все таблицы в базе данных:
Просмотреть формат таблицы в базе:
Удалить таблицу из базы:
Показать все содержимое таблицы:
Отобразить столбцы и содержимое столбцов в выбранной таблице:
Отобразить строки в определенной таблице, содержащие » whatever «:
Отобразить все записи в определенной таблице, содержащие » Bob » и телефонный номер » 3444444 :
Отобразить все записи, НЕ содержащие имя » Bob » и телефонный номер » 3444444 «, отсортированные по полю phone_number :
Показать все записи, начинающиеся с букв » bob » и телефонного номера » 3444444 » в определенной таблице:
Показать все записи, начинающиеся с букв ‘ bob » и телефонного номера » 3444444 «, ограничиваясь записями с 1-ой до 5-ой:
Использование регулярных выражений ( «REGEXP BINARY» ) для поиска записей. Например, для регистро-независимого поиска — найти все записи, начинающиеся с буквы А :
Показать все уникальные записи:
Показать количество строк в таблице:
Подсчитать количество столбцов в таблице:
Добавление колонки в базу данных:
Изменение имени столбца:
Создать столбец с уникальным именем, что бы избежать дубликатов в названиях:
Изменение размера столбца:
Удаление столбца из таблицы:
Загрузка файла CSV в таблицу:
Пользователи, пароли сервера MySQL — добавление, изменение пользователей и паролей. Консоль
Создание нового пользователя — подключение к серверу MySQL под root, переключение к базе данных, добавление пользователя, обновление привилегий:
Изменений пользовательского пароля из консоли на удаленном хосте db1.example.org :
Изменение пользовательского пароля из консоли MySQL — подключение под root, обновление пароля, обновление привилегий:
Восстановление/изменение пароля root сервера MySQL — остановка MySQL, запуск без таблиц привилегий, подключение под root, установка нового пароля, выход и перезапуск MySQL.
Set a root password if there is on root password.
Обновление пароля root:
Установка права на подключение к серверу с хоста localhost с паролем » passwd » — подключение подroot, переключение к базе данных, установка привилегий, обновление привилегий:
Установка привилегий пользователю на использование базы данных — подключение под root, переключение к базе данных, установка привилегий, обновление привилегий:
Обновление информации в базе данных:
Удаление строки в таблице:
Обновление привилегий в базе данных:
Резервные копии — создание, восстановление бд . Консоль
Создать резервную копию (dump) всех баз данных в файл alldatabases.sql :
Создать резервную копию одной базы данных в файл databasename.sql :
Создать резервную копию одной таблицы в файл databasename.tablename.sql :
Восстановление базы данных (или таблицы) из резервной копии:
Источник