Как войти в mysql linux
Перейти к содержимому

Как войти в mysql linux

  • автор:

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

Если на экране появляется приветствие mysql, то всё прошло ok.

Для выхода из командной строки mysql можно написать exit, в linux достаточно нажать ctrl+C. Теперь можно писать любые mysql-запросы. Чтобы запрос выполнился, в конце обязательно нужно поставит точку с запятой ";". При написании длинных запросов удобно делать enter`ом переход на следующую строку. А после полного написание запроса поставить ";" и нажать "enter".

Для работы с конкретной базой данных нужно её выбрать с помощью оператора use. Показать все базы данных:

Результатом будет что то вроде этого:

Выбрать базу данных jeka:

Посмотреть названия всех таблиц в конкретной базе данных (после выполнения use):

Просмотреть структуру таблицы (имена и тип полей):

Достать информацию о юзере с >

Бэкап структуры таблицы, а точнее sql-запрос на её создание

Если в конце запроса поставить не ; а \G, то результат будет показан другим образом — иногда весьма удобно, если таблица имеет много полей:

mysql использования /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 в терминале реально повысили мою производительность.

Дата добавления: 10 лет назад
теги постаmysql

  • Установить mysql 5.6 на travis Решено!
  • Как переименовать таблицу в MySQL? Решено!
  • Got a packet bigger than ‘max_allowed_packet’ bytes — ошибка mysql Решено!
  • MySQL ошибки Lost connection to MySQL server at ‘waiting for initial communication packet’ 1 ответ
  • ERROR 9006: ProxySQL Error: connection is locked to hostgroup 10 but trying to reach hostgroup 11 Решено!
  • MySQL — изменение полей, структуры таблицы 0 комментариев
  • Запросы инъекции для mysql 0 комментариев
  • Доступ к mysql из-вне4 комментария
  • Mysql перенос таблиц из одной базы данных в другую 0 комментариев
  • Анализ производительности MySQL с использованием performance_schema 0 комментариев

Комментарии 2

Viktor, спасибо. Судя по скринам, штука интересная.
Правда, уж больно много зависимостей она имеет.. Как решу проблему с зависимостями, отпишусь.

MySQL Commands

I currently use the MariaDB client on Debian GNU/Linux. I have kept mysql > prompts below.

As root, setup users and create databases

As root, create a database and grant permissions to a new user To connect to the mysql client as root, in the shell

Create a new user

Create a database

Connect to a database

Grant all permissions to a user on all databases

Grant all permissions to a user on a specific database

Grant read permission to a user on a specific database

Then you can log out of mysql

Graphical clients

On Ubuntu, I used mysql navigator by shi bok jang. On Debian, I used mysql workbench

Lately I mostly use the command line client.

User operations

Change password, as the user itself or as root:

As root , list all users

As root , delete a user

MySQL documentation on adding user accounts.

Connecting to a database

To connect to the mysql client as a user

If you have configured

.my.cnf, you can simply call

Then in the mysql client:

If you have the correct privileges, you can create a database with a pipe. How to create a database

Configuration file my.cnf

It’s not desirable to share user name and password in software disseminated over the internet. User name, password and database names can be placed under groups in the configuration file. For example for a given project enter this group in

Then simply specify group=project_name to the client that accesses the database.

Table operations

Database operations

mysqldump and mysqladmin commands below work if your shell user name is the same as your mysql user name. If it’s different add -u username to the command. If you have configured

Как работать с MySQL сервером установленным на Linux?

MySQLOnLinux

Каждой компании требуется хорошая БД с легким реляционным управлением. Именно поэтому большая часть сайтов в интернете используют MySQL.

Для того чтобы вы смогли использовать данную СУБД её нужно установить на сервер и настроить. Сейчас мы с вами разберемся как установить MySQL на ваш линукс сервер, как его настроить, а также как получить удаленный доступ к вашему MySQL серверу.

Установка MySQL на Linux

Пример будет показан на Ubuntu 20.04.1 сервер я создал тут

Для того чтобы установить данную СУБД без проблем изначально необходимо обновить систему. Чтобы обновить систему используйте следующую команду:

Sudo apt-get update

После данной команды дождитесь окончания скачивания обновлений.

update

Как показано в примере выше обновление было скачено и установлено.

Далее будем скачивать сам пакет данных MySQL для этого используется следующая команда:

Sudo apt-get install mysql-server

install

Во время установки вам может быть предложено скачать дополнительные файлы, рекомендую это сделать, введя Y и нажав enter.

Настройка

После установки MySQL сервера стоит установить пароль для администратора. Сделать этом можно с помощью ряда команд.

secure

После ввода команды вам будет предложено установить плагин для улучшения безопасности сервера.

valid

  • Первый 0 – слабый пароль где кол-во символов должно быть больше либо равно 8.
  • Второй 1 – средний пароль где должны быть от 8 символов, включая цифры, буквы, специальные символы.
  • Третий 2 – сильный пароль от 8 символов, должен включать цифры, буквы, специальные символы и буквы верхнего и нижнего регистра.

Вписываем 2 и жмем enter, а потом вводим желаемый пароль.

pass

Я вписал пароль с буквами верхнего и нижнего регистра и т.д. Как вы видите указано что безопасность пароля = 100 далее необходимо подтвердить, что данный пароль вам подходит, введя Y и нажав enter.

anon

После этого вам будет предложено удалить анонимных пользователей, которые создаются автоматически. Для большей безопасности их стоит удалить, введя Y и нажав enter.

remote

Далее вам будет предложено отключить возможность удаленного подключения к root пользователю для большей безопасности введите Y. (Однако если собираетесь входить в аккаунт удаленно, то введите N).

После этого можно будет удалить тестовые базы данных, а также обновить правила просто введя дважды Y.

db

Проверка работоспособности

После всех данных команд нужно проверить работоспособность MySQL сервера. Для этого введите следующую команду.

Systemctl status mysql.service

check

Как видно на примере выше проверка прошла успешно и сервер запущен.

если вдруг сервер не активен запустите его с помощью команды –

sudo systemctl start mysql

Вход в root mysql

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

Данная команда вводит вас в саму базу сервера

home

Создание базы данных

Чтобы создать базу данных введите следующую команду:

Create database «namebase»

dbcreate

Как можно заметить база данных была создана

Добавление пользователей

После того как вы вошли в базу сервера от лица Root пользователя вам нужно будет ввести следующую команду для создания пользователя:

CREATE USER ‘USERNAME’@’host’ IDENTIFIED BY ‘password’ ;

user

  • Create user – Данная команда отвечает за создание пользователя.
  • ‘username’ – Здесь в кавычках вы указываете имя пользователя
  • ‘Host’ – Здесь в кавычках вы указываете способ подключения, если указать localhost, то подключиться удаленно нельзя, в моем примере я создал удаленное подключение
  • Identified by – Способ аутентификации
  • ‘password’ – здесь в кавычках нужно указать пароль, который подходит под вашу систему, которую мы указывали ранее. (Цифра 2, помните?)

очень важно не забудьте в конце поставить ;

Теперь, когда пользователь создан ему необходимо дать какие-то права, для этого введите команду:

GRANT ALL PRIVILEGES ON database name. * TO ‘username’@’host’

prive

Database_name. – нужно ввести имя базы данных

не забудьте поставить в конце имени точку

‘Username’ – нужно ввести имя пользователя

‘host’ – указываем можно ли будет подключиться удаленно

Как видите я дал все полномочия для работы с этой базой данных пользователю, которого только что создал.

Давайте войдем с помощью созданного пользователя для этого введите следующие команды

Mysql –uUsername –p (нажмите enter)

После этого у вас попросят ввести пароль данного пользователя.

enter

После ввода пароля вы будете авторизированы и сможете взаимодействовать с сервером. Давайте проверим можем ли мы работать с нашей базой данных.

Введите пару команд для проверки:

  • Use mybase – позволяет использовать созданную базу данных
  • Show tables; — позволяет увидеть информацию

важно не забывать ;

Заключение

В данной статье мы с вами ознакомились, как можно установить сервер MySQL на линукс и как его настроить для работы. Также мы узнали каким образом можно его обезопасить, добавить пользователя и привилегии для него, а также проверить работоспособность. Теперь данный MySQL сервер готов к работе, к нему можно подключиться и взаимодействовать с ним и его базами данных. Для того чтобы понять каким образом вы можете далее работать с ним лучше всего все проделать самостоятельно чтобы не возникло никаких вопросов.

Каждый MySQL сервер должен быть в безопасности и не бояться, к примеру, ддос атак. Наш сервис mivocloud предоставляет отличную защиту от ддос атак, а также менеджмент ваших серверов (за отдельную плату) если вам нужен стабильный хостинг, то можете попробовать наш и вы не разочаруетесь.

MySQL

MySQL — свободная СУБД для малых и средних приложений. Входит в состав LAMP и XAMPP.

Версии MySQL в Ubuntu

Ubuntu MySQL
12.04 LTS (Precise) 5.5
14.04 LTS (Trusty) 5.5, 5.6
15.10 (Wily) 5.6
16.04 LTS (Xenial) 5.7

Установка

MySQL есть в репозиториях Ubuntu. Он разбит на несколько пакетов.

Для того чтобы установить MySQL сервер выполните команду:

При установке конфигурационный скрипт запросит пароль для администратора (root) базы данных.

Для того чтобы установить консольный клиент MySQL выполните команду:

Для того чтобы установить модуль для работы с MySQL в PHP выполните команду:

Настройка

Конфигурация сервера MySQL содержится в файле /etc/mysql/my.cnf.

Доступ к серверу из сети

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

Кодировки

По-умолчанию в Ubuntu MySQL устанавливается с кодировкой latin1 . В этом можно убедиться посмотрев вывод запроса:

В связи с этим, даже используя при работе с сервером команду

и используя при создании таблиц

невозможно добиться полной поддержки кодировки utf8:

Кодировка по-умолчанию все равно останется latin1, что неудобно и может привести к ошибкам.

Чтобы сервер сразу загружался с нужной кодировкой, необходимо отредактировать файл /etc/mysql/my.cnf:

В секцию [mysqld] добавьте следующие строки:

Так же желательно установить кодировку для клиента и mysqldump. Для этого в секциях [client] и [mysqldump] необходимо добавить строчку:

Перезагрузите сервер MySQL:

После этого список переменных будет выглядеть так:

Администрирование

Установка root пароля

Восстановление забытого пароля для root'a

Схожая проблема возникает если не задать пароль при установке MySQL, в этом случае mysql использует плагин unix-socket.

Запустите mysqld с параметрами —skip-grant-tables —user=root :

Если команда не сработает, добавьте строку « skip-grant-tables » в секцию « [mysqld] » файла /etc/mysql/mysql.conf.d/mysqld.cnf . Затем выполните sudo service mysql restart . После выполнения операций удалите эту строку.

Подключитесь к MySQL-серверу командой:

Обновите пароль для root'a:

Для MySQL версий < 5.7:

Теперь можете проверить вход под root с новым паролем:

Резервное копирование

Для создания резервных копий существует специальная утилита mysqldump . Основные ее параметры приведены в таблице:

Параметр Описание Пример
-u<user> Пользователь, от лица которого будет производится дамп баз данных. -uroot
-p<password> Пароль пользователя. Пароль необязательно указывать, достаточно упомянуть этот параметр для того, чтобы утилита знала что подключение требует пароля. -ppassword
-p
-h<host> Хост, на котором расположена база данных. -h127.0.0.1
-A Создать бекап всех баз данных. -A
-B <databases> Базы данных, которые нужно забэкапить. -B db1 db2 db3
—tables <tables> Таблицы, которые нужно забэкапить. Перекрывает действие ключа -B —tables db1.table1 db1.table2 db2.table3
-d Создать бекап структуры таблиц. Содержимое таблиц скопировано не будет. -d
—skip-extended-insert Не использовать многострочные INSERT-записи при создании дампа. —skip-extended-insert
-w'where_clause ' Создавать дамп только тех строк, которые попадают под условие. -w'Id > 10 AND Id < 100 '

Отключение и включение автозагрузки сервиса

Начиная с версии Ubuntu 15.04 отключение и включение сервисов возможно одной командой, без редактирования конфигов. В примерах команд ниже слово «SERVICE» следует заменить на «mysql».

Узнать стоит ли сервис в автозагрузке:

Убрать сервис из автозагрузки в Ubuntu-16.04:

Добавить сервис в автозагрузку в Ubuntu-16.04:

MySQL Workbench

MySQL Workbench – инструмент для визуального проектирования баз данных. MySQL Workbench существует в двух вариантах:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *