Как открыть базу данных mysql
Перейти к содержимому

Как открыть базу данных mysql

  • автор:

Подключение к базе данных MySQL

Экземпляр БД RDS можно подключить как к публичной, так и к частной сети.

На этой странице

  • Перед началом работы
  • Подключение через MySQL-Front
  • Подключение с помощью SSL-сертификата

По умолчанию RDS предоставляет плавающий IP-адрес.

Когда приложения развертываются на ВМ ECS, которая расположена в том же регионе, что и VPC и RDS, рекомендуется использовать плавающий IP-адрес для подключения к экземпляру RDS.

Безопасно и имеет высокую производительность. Рекомендуется использовать.

При невозможности подключения к экземпляру базы данных RDS через плавающий IP-адрес рекомендуется привязать EIP к экземпляру базы данных и подключить ECS.

Имеет низкий уровень безопасности. Для достижения более высокой скорости передачи данных и безопасности рекомендуется перенести приложения на ECS, который находится в той же подсети, что и этот экземпляр базы данных RDS. Также следует использовать плавающий IP-адрес для доступа к экземпляру базы данных.

Если ECS находится в той же подсети VPC , что и экземпляр RDS DB, то выделять EIP не нужно.

Перед началом работы

  • Создайте и подключитесь к экземпляру ECS .
  • Создайте группу безопасности (Security Group) .
  • Создайте EIP и прикрепите его к экземпляру БД , если необходимо подключиться из публичной сети.
  • Установите клиент для работы с MySQL:
    • Для ОС на базе Linux — MySQL Client (en).
    • Для ОС Windows — MySQL-Front. Подробнее о подключении ниже.

    Подключение через MySQL-Front

    ../_images/s__mysql-front-open-session.png

    1. Скачайте и запустите утилиту MySQL-Front.
    2. В окне Add Session нажмите New .
    3. Введите параметры подключаемой БД:
      • Name — название экземпляра БД. Если его не указать, то будет использоваться значение Host по умолчанию.
      • Host — укажите для подключения:
        • из частной сети — плавающий IP-адрес подключаемого экземпляра базы данных. Чтобы просмотреть плавающий IP-адрес и порт экземпляра базы данных в консоли RDS, зайдите в информацию об экземпляре БД MySQL и в блоке Connection Information скопируйте адрес Floating IP address .
        • из публичной сети — EIP подключаемого экземпляра базы данных.
      • Port — порт экземпляра БД. По умолчанию для MySQL — 3306.
      • В Login Information укажите пользователя БД ( User ) и пароль БД ( Password ).
    4. Нажмите OK .
    5. В появившемся окне выберите соединение, которое было создано ранее, и нажмите Open .

    Если информация о подключении верна, экземпляр базы данных будет успешно подключен.

    Подключение с помощью SSL-сертификата

    1. Войдите в консоль управления Advanced:
      • через личный кабинет Cloud.ru ;
      • как IAM-пользователь .
    2. Чтобы открыть список сервисов, нажмите Service List .
    3. Выберите Database → Relational Database Service .
    4. На странице Basic Information в разделе DB Information скачайте SSL сертификат.
    5. Загрузите сертификат в ВМ ECS или сохраните его на устройстве, которое будет подключено к экземпляру базы данных.
    6. Запустите команду для подключения к экземпляру. В нашем примере используется команда для Linux:
    mysql -h hostName> -P port> -u userName> -p --ssl-ca=caName> 
    • -h — укажите для подключения:
      • из частной сети — плавающий IP-адрес подключаемого экземпляра базы данных. Чтобы просмотреть плавающий IP-адрес и порт экземпляра базы данных в консоли RDS, зайдите в информацию об экземпляре БД MySQL и в блоке Connection Information скопируйте адрес Floating IP address .
      • из публичной сети — EIP подключаемого экземпляра базы данных.

      Пример подключения с использованием SSL-сертификата

      mysql -h 172.16.0.43 -P 3306 -u root -p –ssl-ca=ca.pem

      Если информация о подключении верна, экземпляр базы данных будет успешно подключен.

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

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

      Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 344 Server version: 5.5.28-0ubuntu0.12.04.3 (Ubuntu) Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

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

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

      show databases;

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

      mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | jeka | | linky | | mysql | | performance_schema | | phpmyadmin | | test | +--------------------+ 7 rows in set (0.00 sec)

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

      mysql> use jeka Database changed

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

      mysql> show tables;

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

      mysql> describe post_estimations; +------------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+---------------------+------+-----+---------+-------+ | post_id | int(10) unsigned | YES | MUL | NULL | | | user_id | int(10) unsigned | YES | MUL | NULL | | | estimation | float(2,1) unsigned | NO | | NULL | | | date | int(10) unsigned | NO | | NULL | | +------------+---------------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)

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

      mysql> SELECT * FROM users WHERE > Бэкап структуры таблицы, а точнее sql-запрос на её создание
      show create table table_name;

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

      select * from update__v4_errors where > mysql использования /G вместо; дебаг запроса.

      Посмотреть, какие запросы выполняются в данный момент на сервере MySQL:

      show processlist;

      Учтите, что будут отображены еще не выполненные (активные) запросы, поэтому show processlist; актуальная команды только для нагруженных БД, в других случаях маловероятно, что команда что то покажет.

      Подробнее о том, как изменять структуру mysql-таблиц (alter table).

      Что делать если вижу знаки вопросов вместо текста в MySQL?

      Это проблема с кодировкой. Вероятно в my.ini файле mysql-сервера не добавлено:

      [mysqld] init-connect='SET NAMES utf8'

      Нужно добавить в .ini файл либо выполнить в консоли команду «SET NAMES utf8», после чего во время текущей сессии отображаться русский текст в mysql-консоли будет без проблем:

      mysql> set names utf8; Query OK, 0 rows affected (0.00 sec)

      Как сделать бэкап базы mysql через консоль Linux?

      Сделать бэкап базы database в файл dump_name.sql

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

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

      Развернуть базу из файла через командную строку

      mysql -u [username] -p [password] [database] < [dump_to_restore.sql]

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

      Сделать дамп структуры одной таблицы mysql (без данных):

      mysqldump -u[user] -p[password] -h[host] [database] [table_name] --no-data > /path/dump_name.sql

      Например, задампим таблицу users из базы данных mydatabase:

      mysqldump -uroot mydatabase users > users.dump.sql

      Развернуть mysql-dump в БД с именем database_name:

      mysql -uroot database_name < users.dump.sql

      Ещё одна интересная штука. Выполнять из консоли, не требуется предварительно подключаться к mysql (mysql>). Вывести список таблиц базы данных, не подключаясь непосредственно к mysql:

      mysql -uroot -e 'show tables' database_name && echo done
      mysql> show variables like '%incr%';

      Заключение

      Может показаться, что писать запросы в командной строке не удобно. Но это заблуждение. На слабых машинах phpmyadmin работает не так шустро как хотелось бы. Тем более не на всех серверах стоят морды с phpmyadmin, adminer и т.д. Linux + mysql в терминале реально повысили мою производительность.

      Поисковые запросы , по которым приходили пользователи

      Дата добавления: 11 лет назад

      mysql

      Похожий контент:

      • В чём разница int(3) int(10) int(12) и так далее? mysql 3 ответа
      • Как переименовать таблицу в MySQL? Решено!
      • Как очистить все таблицы в базе данных mysql? 0 ответов
      • 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 из-вне4 комментария
      • Mysql перенос таблиц из одной базы данных в другую 0 комментариев
      • MacOS сбросить root пароль для MySQL 0 комментариев
      • Анализ производительности MySQL с использованием performance_schema 0 комментариев

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

      viktor 11 лет назад

      Последнее время я использую Valentina Studio для работы с MySQL. Очень хороший и бесплатный инструмент, рекомендую посмотреть. http://www.valentina-db.com/en/valentina-studio-overview

      root 11 лет назад

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

      eugene-PC:www eugene$ eugene$ sudo rpm -ivh ~/Загрузки/vstudio_x64_5_lin.rpm
      rpm: RPM should not be used directly install RPM packages, use Alien instead!
      rpm: However assuming you know what you are doing.
      ошибка: Неудовлетворенные зависимости:
      ld-linux-x86-64.so.2()(64bit) нужен для vstudio-5.3.0-2.x86_64
      ld-linux-x86-64.so.2(GLIBC_2.3)(64bit) нужен для vstudio-5.3.0-2.x86_64
      libc.so.6()(64bit) нужен для vstudio-5.3.0-2.x86_64
      libc.so.6(GLIBC_2.2.5)(64bit) нужен для vstudio-5.3.0-2.x86_64
      libc.so.6(GLIBC_2.3)(64bit) нужен для vstudio-5.3.0-2.x86_64
      libc.so.6(GLIBC_2.3.3)(64bit) нужен для vstudio-5.3.0-2.x86_64
      libc.so.6(GLIBC_2.3.4)(64bit) нужен для vstudio-5.3.0-2.x86_64
      libc.so.6(GLIBC_2.4)(64bit) нужен для vstudio-5.3.0-2.x86_64
      libdl.so.2()(64bit) нужен для vstudio-5.3.0-2.x86_64
      libdl.so.2(GLIBC_2.2.5)(64bit) нужен для vstudio-5.3.0-2.x86_64
      libgcc_s.so.1()(64bit) нужен для vstudio-5.3.0-2.x86_64
      libgcc_s.so.1(GCC_3.0)(64bit) нужен для vstudio-5.3.0-2.x86_64
      libgcc_s.so.1(GCC_3.4)(64bit) нужен для vstudio-5.3.0-2.x86_64
      libgdk-x11-2.0.so.0()(64bit) нужен для vstudio-5.3.0-2.x86_64
      libgdk_pixbuf-2.0.so.0()(64bit) нужен для vstudio-5.3.0-2.x86_64
      libglib-2.0.so.0()(64bit) нужен для vstudio-5.3.0-2.x86_64

      Импорт и экспорт базы данных MySQL

      Экспорт базы данных MySQL через консоль и phpMyAdmin

      через phpMyAdmin
      через консоль

      экспорт базы mysql шаг 1

      Войдите в phpMyAdmin. Кликните по названию базы данных, экспорт которой вы хотите произвести:

      экспорт базы mysql шаг 2

      Перейдите на вкладку «Экспорт», выберите формат SQL и нажмите Вперед:

      На вашем компьютере откроется диалоговое окно. Сохраните базу данных.

      Готово, база данных экспортирована на ваш компьютер.

      • USER — пользователь базы данных (например, «u1234567_dbuser»),
      • DBNAME — имя экспортируемой базы данных (например, «u1234567_database»),
      • ~/DUMPFILE.sql — путь к файлу, в котором сохранится дамп базы данных в формате SQL.

      Затем введите пароль базы данных (PASSWORD).

      Готово, дамп базы данных с названием DUMPFILE.sql будет сохранен в корневую директорию услуги хостинга.

      Импорт базы данных MySQL через консоль и phpMyAdmin

      через phpMyAdmin
      через консоль

      импорт базы mysql шаг 1

      Выберите базу данных, в которую будет производиться импорт дампа (резервной копии базы данных):

      импорт базы mysql шаг 2

      Перейдите на вкладку «Импорт», нажмите Выберите файл и укажите файл дампа базы. При необходимости смените кодировку. Выберите формат SQL и нажмите Вперёд:

      Если файл дампа большой
      Если файл дампа слишком большой для импорта, импорт необходимо производить по SSH.

      импорт базы mysql результат

      При успешном импорте появится сообщение:

      Готово, база данных импортирована.

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

      • USER — пользователь базы данных (например, «u1234567_dbuser»),
      • DBNAME — имя импортируемой базы данных (например, «u1234567_database»),
      • ~/DUMPFILE.sql — путь к файлу, в котором сохранится дамп базы данных в формате SQL.

      Затем введите пароль базы данных (PASSWORD).

      Готово, база данных импортирована.

      Базы данных MySQL

      MySQL — это свободная реляционная система управления базами данных. База данных (БД) — это место, в котором хранятся данные. Слово «реляционный» означает, что данные хранятся в наборах данных, в виде таблиц.

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

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

      • Перейти в phphMyAdmin;
      • Посмотреть статистику по базе.
      • Добавить доступ к БД;
      • Изменить комментарий;
      • Удалить базу данных;

      В таблице под каждой БД указаны доступы для подключения:

      По умолчанию у всех БД настроен доступ localhost. Остальные доступы добавляются кнопкой . При добавлении доступа вам будет выведено окно:

      В открывшемся окне вы можете:

      • Указать IP-адрес или доменное имя компьютера, с которого будет производиться подключение к БД;
      • Создать уникальные пароли для отдельных адресов или единый пароль для всех сразу;
      • Указать в качестве доступа localhost, если вы удаляли его ранее.

      Если необходимо создать доступ к базе данных со всех адресов, то при создании доступа установите флажок в поле "Единый доступ для различных IP-адресов".

      Обратите внимание!

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

      Возле расположена кнопка — посмотреть статистику по базе. При её нажатии можно посмотреть информацию о нагрузке на базу данных, а также динамику изменения размера.

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

      База данных MySQL создается в несколько кликов:

      1. Придумайте имя БД и впишите его в поле Имя базы. По умолчанию в поле уже вписан ваш логин в системе, вам остаётся лишь дописать латиницей после «_» придуманное название;
      2. Придумайте надежный пароль для входа в БД или воспользуйтесь генератором случайных паролей ;
      3. Нажмите кнопку Добавить.

      Обратите внимание на чекбокс Сохранить пароль для phpMyAdmin. Если галочка установлена, то при подключении phpMyAdmin к БД пароль будет введён автоматически, а если при создании БД чекбокс был не активен, то при подключении phpMyAdmin к БД пароль нужно будет вводить вручную.

      Если при создании БД вы не поставили галочку Сохранить пароль для phpMyAdmin и забыли его, то в дальнейшем вы можете изменить пароль в таблице управления БД.

      Ненужные соединения можно удалить кнопкой .

      Подключение к базе данных

      Для внешнего подключения к БД введите следующую команду:

      mysql -h сервер для внешних подключений -u имя пользователя -p

      Пример: mysql -h pseudofb.beget.tech -u pseudofb_myadm_b -p

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

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

      Для внутреннего подключения к БД вам необходимо подключиться по SSH к серверу:

      ssh ваш логин@сервер для внешних подключений

      Пример: ssh pseudofb@pseudofb.beget.tech

      После установки SSH соединения можно подключиться к MySQL:

      mysql -h localhost -u имя пользователя -p

      Для подключения CMS к БД в большинстве случаев необходимо указать следующие параметры в настройках CMS (конфигурационных файлах):

      host = «localhost» dbname= «логин в системе_указанное имя базы» dbuser= «логин в системе_указанное имя базы» dbpasswd = «пароль указанный при создании»

      Где посмотреть конфигурационные файлы CMS?

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

      Если CMS будет подключаться с другого хоста, тогда в параметре host нужно указать имя вашего сервера, например:

      host = begetguide.beget.tech

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

      В разделе MySQL мы собрали удобные инструменты для работы с БД и полезную информацию, которая поможет вам при подключении CMS к MySQL.

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

      Также в разделе есть параметры для подключения к БД и полезная информация о настройки подключения CMS к MySQL.

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

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