MySQL
Вопреки, ошибочному мнению MySQL — это не язык программирования. MySQL — это программное обеспечение, с которым могут работать множество популярных языков программирования (PHP, Java, Perl, C, C++ и другие).
Данное ПО позволяет подключаться к базе данных, отправлять SQL-запросы и получать ответ (result set). Другими словами, MySQL — это СУБД (система управления базой данных)
Выбор данной СУБД вполне очевиден: она поддерживается во многих языках программирования, а также выполняет все функции, которые вообще могут возлагаться на СУБД.
В данном разделе рассмотрено использование MySQL в PHP. Хотя, разумеется, MySQL можно использовать и в других языках программирования, но мы создаём Web-приложения на PHP, поэтому и рассматривать работу с базами данных будем в PHP.
Теперь о том, зачем нужен MySQL:
2) Для управления базой данных.
3) Для выборки записей из базы данных.
А уж зачем нужна база данных, думаю, очевидно: для хранения информации о пользователях, хранения информации о контенте сайта, хранения информации счётчика посещений и много-много для чего ещё. В общем, для создания личного сайта.
А познакомиться с MySQL в PHP, Вы можете в категории основы MySQL. Там весьма подробно расписаны основные аспекты использования СУБД MySQL в языке PHP.
Также необходимо понимать, что сам MySQL ничего с базой данных не делает, это не язык. Программное обеспечение
Изучив данный раздел, при условии, что Вы ознакомились с разделом HTML, CSS, JavaScript и PHP, я смело могу заявить, что Вы уже стали
Поэтому не надо оттягивать этот последний шаг, сделайте последний рывок и, наконец, создайте свою империю в Интернете.
Полный курс по PHP и MySQL: http://srs.myrusakov.ru/php
Свежие материалы по MySQL
Mysql в windows 7 зачем он нужен
Вступление
Обращу внимание, в этой статье я ставлю, только MySQL Server (сервер базы данных) без визуальных «плюшек», MySQL Workbench, Connectors и т.д.
Зачем нужна отдельная установка сервера MySQL
Зачем нужна отдельная установка сервера? Например, для обучения работе с базами данных через «черный экран» командной строки. Или чтобы изучить команды SQL языка и «в прямом эфире» увидеть свои ошибки и поупражняться.
Что такое MySQL
Прежде чем заняться установкой сервера MySQL 5.7.11 на Windows 7 вспомним, что такое MySQL, зачем это нужно. Если вы в курсе, смело пропускайте первую, вступительную, часть.
Данный сайт посвящен созданию и разработке локальных сайтов, на всевозможных локальных серверах. В самом простом исполнении, вернее в самой простой сборке, локальный сервер это сборка трех компонентов: веб-сервер, система управления базами данных и интерпретированный динамический язык программирования. Данная сборка ставится под определенную операционную систему, которая стоит на вашем компьютере.
В этой серии статей, мы не ищем легких путей и не используем готовые сборки локальных серверов, можно называть, локальных хостингов. В этой серии, мы настойчиво собираем локальный хостинг, самостоятельно из отдельных программных продуктов.
Одной из частей, локального сервера является СУБД (система управления базами данных).
Установка сервера MySQL 5.7.11 на Windows 7 поэтапная инструкция
Скачать MySQL 5.7.11 для Windows
Идем на официальный сайт продукта (http://www.mysql.com/downloads/) и страницу скачивания бесплатных компонентов (http://dev.mysql.com/downloads/).
При скачивании внимательно выбираем инсталлятор не путая тип системы компьютера bit-32 и bit-64 Windows 7. Хотя 32 битная программа будет работать на 64-битном процессоре.
Для скачивания выбираем MySQL Installer MSI
Для удобства из способов установки MySQL берем не ZIP архив, а MSI Installer. Это автоматический установщик, который через сеть закачает выбранные программные продукты. Недостаток файла – работает только на машинах подключенных к Интернет, компенсируется простотой установки.
Для скачивания MySQL можно нерегистрироваться
Напомню, посмотреть тип системы своей машины можно в меню Пуск→Компьютер→Свойства→Тип системы.
Проверка типа процессора на компьютере 2.
Запуск инсталлятора
Скачанный exe файл проверяем на вирусы, своей антивирусной программой. Если файл брали на официальном сайте он гарантированно безопасен.
Запускаем инсталлятор MySQL 3.
Побочная установка программных продуктов
- .NET Framework 4
- Visual Studio C++
По умолчанию Windows 7 уже укомплектован этими программами, правда версии могут быть поменьше.
При запуске инсталлятора MySQL он сообщит о необходимости установить нужные программные продукты. На сколько я помню, инсталлятор подкачает нужные программы. Если нет установите их самостоятельно. В этом нет ничего сложного, но можно почитать у меня:
- Установить .NET Framework 4
- Установить Visual Studio C++
4.
License Agreement
Продолжаем установку MySQL. Окно License Agreement.
установка сервера MySQL 5.7.11 на Windows 7 соглашение с лицензией 5.
Choosing a Setap Type
Именно на этом этапе, выбираем тип установки, вернее, устанавливаемый комплект MySQL.
- Developer Default (MySQL Server, MySQL Workbench, Connectors в комплекте)
- Server Only – выбираем и ставим его, только сервер.
- Client Only
- Full (MySQL Server, MySQL Workbench, Connectors на выбор)
- Custom
Если вы четко понимаете, что делаете, можно выбрать, Custom и в наборе программных продуктов, выбрать нужную комплектацию.
По умолчанию СУБД будет установлена в папку: C:Program FilesMySQLMySQL5.7
Еще раз поясню, почему вам может пригодиться, установка Server Only. Например, вы на своем компьютере не используете Visual Studio или, изучаете язык SQL и хотите изнутри понять, как работать с базами данных из командной строки, а не «играть» в визуальные картинки.
Installation
Product Configuration
Type and Networking
На локальной машине MySQL поддерживает порт TCP/IP- ставим галочку;
Обратите внимание: Если поставить галочку в строке: Open freewall port for network access (открытый порт брандмауэра для доступа к сети), то не нужно будет делать дополнительный разрешительных настроек в брандмауэре Windows 7.
Account and Roles
Здесь нам нужно задать пароль для работы в MySQL. Не будем нарушать традиций и ставим пароль: root. Кстати, без установки пароля на следующую страницу не попасть.
Задаем root пароль MySQL 10.
Windows Server
Это окно простых настроек запуска MySQL. Если нужно, чтобы сервер запускался с запуском машины, то выделяете чекбокс, как на фото. Если хотите запускать его по необходимости, чекбокс не выделяете (лучше галочку поставить).
Конфигурация MySQL для Windows server
Здесь тормозим: Смотрим на чекбокс: Show advanced options (показать дополнительные функции).
На следующей странице сервис наполнится конфигурацией, о чем сообщит зелеными галочками.
Установка завершена
Всё! Установка сервера MySQL 5.7.11 на ОС Windows 7, завершена. Можно сделать копию входа в буфер обмена и положить на рабочий стол.
установка сервера MySQL 5.7.11 на Windows 7 завершена
Запуск сервера MySQL
Установка сервера MySQL 5.7.11 на Windows 7 завершена. Проверяем правильность установки и запускаем сервер MySQL.
- Жмем на иконку запуска сервера: MySQL Command Line Client – Unicode. Он там появится, если вы поставили галочку в пункте (10 Windows Server), в чекбоксе: Start the MySQL Server at System Startup.
- Откроется «черное окно» приложения: MySQL5.7 Command Line Client.
- Вводим пароль: root и работаем с СУБД из окон MySQL5.7 Command Line Client.
Пробуем первую команду: знак вопроса [?] или [help]. Сервер покажет элементарные служебные команды.
Если Вы видите такие термины как: MySQL, SQL, база данных, БД, database, DB, таблица, СУБД, то знайте, речь идет о БАЗЕ ДАННЫХ!
Конечно все это немного разные вещи, но если Вы в этом не разбираетесь, то не забивайте себе голову, в конце статьи расскажем кому интересно.
База Данных, как Вы уже могли догадаться, это ящик с информацией. В этот ящик информацию можно положить, удалить или найти. Любой сайт использует сервер для хранения данных, будь то список юзеров, комментарии посетителей, или счетчик посещений.
Но мы используем Базу Данных для сервера кс1.6. Для чего?
Например для статистики игроков, или список банов, админки и пароли тоже храним в базе.
Так почему бы не хранить все эти данные на сервере в файлах? Зачем нам какой то SQL?
Все очень просто!
Чтобы серверу получить необходимую информацию из файла, нужно прочитать сначала 1-ую строку, посмотреть есть в ней то что нужно, если нет то, 2-ую и тд, пока не найдет то что нужно.
MySQL же работает так: друг, я знаю где это лежит! Держи!
Круто да? Почему MySQL такая быстрая штука? Правильней сказать, что база данных это не ящик, а таблица. Смотрите как выглядит например статистика игроков:
Или вот так выглядит хранение банов:
Плагин посылает запрос в базу, типа: проверь, есть ли игрок со стим айди STEAM_0:0_123456789 в таблице `amx_bans` с не истекшим сроком бана
MySQL говорит: да, есть, вот такая причина бана и истечет срок через 10 дней. Плагин в свою очередь не пускает игрока на сервер.
Все данные в каждой колонке таблицы имеет свой тип: INT целое число, varchar текст, есть еще BOOL, FLOAT и куча других типов, их значения занимают мало места, благодаря «индексам» таблица сортируется и еще тонна всяких штук, благодаря которым из миллиона строк в таблице с банами, mysql найдет игрока меньше чем за секунду.
В файлах, на сервере кс, обычно хранят мало информации, потому что сервак просто зависнет если это будет не так. Помните да, что csstats.dat может очиститься и статистика игроков обнулится, этого не произойдет если использовать CsStats MySQL!
А где лежат эти таблицы MySQL?
MySQL это типа программа, запущенная на компе. Это такой же сервер как и Counter-Strike. Все популярные хостинги предоставляют своим клиентам доступ к Базе Данных.
Как подключиться к MySQL?
Разберем какие данные нужны для подключения сервера кс1.6 к mysql
- IP сервера MySQL — это IP адрес на котором находится MySQL. Он может быть буквенный(mysql.hosting.ru) или цифровой(12.34.56.78)
- DataBase — это имя базы данных, в которой будут находиться таблицы со статистикой игроков, банами и прочим
- User — имя пользователя, который имеет доступ к базе данных DataBase и вносить в ее таблицы изменения и и тп
- Пароль — пароль, чтобы никто кроме вас и вашего сервера не имел доступ
Эти данные вводите например в конфиг csstats_mysql.cfg, при первом включении плагин создает таблицу под названием csstats_players в базе данных DataBase. И потом уже добавляет в нее игроков.
Связь сервера и сайта через MySQL
Тут не совсем связь, сервер пишет статистику в MySQL, а сайт берет информацию из MySQL и показывает ее пользователю в красивом оформлении.
Просто сайт своими средствами не может получить доступ, например к csstats.dat, но легко может получить доступ к БД
Как посмотреть/изменить/удалить данные в базе?
Для этих целей есть инструмент под названием PhpMyAdmin.
Его предоставляет так же хостинг. Это веб панелька, заходите на нее через обычный браузер, вводите логин и пароль от базы данных и там увидите примерно следующее:
Тут можно создавать, удалять, очищать, обновлять и все все все.
Что такое SQL запросы?
Чтобы добавить/изменить/удалить или просмотреть запись в таблице, нужна сказать mysql чего мы хотим, человеческий язык он конечно не понимает, но понимает SQL запросы.
Чтобы добавить нового игрока в статистику игроков csstats_mysql, плагин посылает запрос:
Чтобы показать статистику игрока плагин шлет:
Это просто небольшие примеры SQL запросов, подробнее можете почитать в интернете.
Вы можете тоже слать SQL запросы в phpmyadmin, но вряд ли они Вам понадобятся, просто знайте 😉
Термины
• База Данных, БД, DataBase, DB — это все сама база данных, в ней хранится информация
• SQL — язык управления базами данных. То есть это и есть SQL запросы, которыми можно вносить изменения в базах
• СУБД — Система Управления Базами Данных. То есть это программа(сервер), которая управляет базами данных, принимает SQL запросы и тд. Есть много разных СУБД: SQLite, PostgreSQL, MySQL и другие. Самая популярная из них это MySQL
• MySQL — это СУБД, смотрите выше.
Старался писать простым, чтобы новички поняли суть. Более подробно можете почитать в интернете, информации на эту тему там много.
Ошибки MySQL, что они означают и как с ними бороться
Если в error_ логах Вы увидите ошибку, типа: Ошибка MySQL! или MySQL Error! и подобное, ЗНАЙТЕ! Это ошибка MySQL, а не плагина.
Если Вы не знаете английский, воспользуйтесь переводчиком, это не сложно.
Тут разберем несколько популярных ошибок
- Access denied for user ‘user’@’localhost’ (using password: YES)
Дата публикации: 2016-06-20
От автора: один мой товарищ за день умудрился сначала сорвать спину, когда ставил дома новый шкаф. А затем на работе «надорвал» себе мозги, когда пытался разобраться, как установить MySQL на Windows. В общем, спину я не смог вылечить, но вот ум его от «закипания» спас. Может, и кого-то из вас избавлю от головной боли, рассказав об установке СУБД.
Альтернатива Денверу?
И сразу может родиться встречный вопрос: зачем искать себе на «котелок» головную боль, если есть уже собранный и простой в установке набор, в состав которого входит «любимая» СУБД? Правильно! Не нужно искать головную боль там, где ее нет. Это сейчас у вас нет проблемы, связанной с установкой MySQL на Windows. Но может возникнуть, если:
Нужна только СУБД, а не весь набор целиком – возможно, вы надумаете еще сильнее углубиться в изучение MySQL. Ну, а PHP и веб-сервер пока не будут востребованы. При запуске Денвера получится, что эти составляющие набора буду крутиться сами по себе, постоянно «кушая» мощности аппаратной части компьютера. Особенно эта проблема остра для устаревших моделей портативных ПК. Я зная о чем говорю, поскольку долгое время использовал такой. Мой старый ноут «грузили» по полной пару открытых вкладок в браузере. В общем, каждый процент производительности был на счету.
Установка более новой версии – в состав Денвера входит актуальная версия MySQL, но иногда требуется самая новая версия. Например, для разработки БД под конкретное «издание» СУБД.
Модернизация системы управления учетными записями в phpMyAdmin – через данную программную оболочку, входящую в состав набора для джентльменов, можно работать только под одной учетной записью, которая установлена по умолчанию. То есть через root с пустым паролем. Но иногда нужно входить на сервер MySQL под другим пользователем, чтобы протестировать какой-нибудь запрос, триггер или хранимую процедуру. Конечно, можно через командную строку, но хочется работать «с комфортом» .
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Создание ADO приложений с использованием другого серверного языка – никто не спорит с тем, что «PHP и MySQL – forever». Но существуют и другие серверные языки программирования, для разработки приложений на которых может потребоваться установка MySQL на Windows 10 или другую версию ОС.
В общем, причин инсталляции отдельного экземпляра СУБД на клиентскую машину может быть множество: я лишь привел несколько из них. Теперь перейдем непосредственно к описанию процесса установки.
Скачиваем свой экземпляр
Дистрибутив СУБД на официальном ресурсе разработчиков доступен для скачивания в двух вариантах:
В виде автоматического пакета установки с расширением .msi – его мы рассматривали в одном из наших предыдущих материалов, поэтому пропустим его.
В форме бинарного кода, запакованного в ZIP – данный вариант мы и применим сегодня.
Также стоит отметить, что я буду производить установку MySQL на Windows 7, но для всех остальных (более «свежих») версий ОС эта инструкция также актуальна. Винда – она и в Африке винда . Стартуем! Переходим сюда и скачиваем нужный вариант архива. У меня 32-разрядная архитектура компьютера, поэтому скачиваю архив под эту версию операционки.
На следующем шаге будет предлагаться пройти регистрацию, но можно обойтись и без нее. Для этого жмите на ссылку ниже (отмечена на скриншоте). После чего начнется скачивание архива. Обратите внимание, что его размер больше 300 «метров». А такой объем для лимитного «3Г» интернета может оказаться неподъемным. Да и по скорости тоже – на это уйдет минут 40 точно.
После этого создаем директорию для установки и извлекаем в нее скачанный архив. Чтобы избежать путаницы в будущем, лучше осуществлять установку MySQL 5 6 в Windows сразу на диск C.
Редактируем файл конфигурации
Теперь находим в папке файл my-default.ini, и открываем его с помощью Блокнота. Сейчас займемся редактированием параметров нашего будущего сервера СУБД. Сначала прописываем пути к основной директории и папке, где будут храниться данные. А также указываем порт и кодировку:
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Рекомендуем к прочтению
Установка MySQL 5.
1 в Windows Server MySql (Maria DB) Традиционно в Windows, в особенности в Windows Server, используется продукт того-же прозиводителя — Microsoft — называемый SQL Server. Различные его версии предоставляют нам различные ограничения и возможности. Есть даже бесплатная версия под названием Microsoft SQL Server Express, ограничивающая администраторов и разработчиков размером базы данных , потребляемого ОЗУ, процессорных ядер, а в редакции MSDE2000 — еще и количеством одновременных подключений. Есть и более «способные» продукты, за которые нужно выложить уже ооочень немаленькие (для России — просто дикие) деньги.Однако MS SQL многого не может. Как минимум — он просто не совместим с MySQL, используемом на подавляющем большинстве хостингов. Простенькие запросы будут работать и там, и там, а вот запросы посложнее — тут уже эти два сервера откажутся понимать друг друга.
Я не буду здесь разглагольствовать — что лучше, что хуже — это отдельная статья для отдельных писателей, требующая тщательного и детального подхода. Для себя я сделал выбор, оглашать здесь который не собираюсь (по долгу службы я администрирую как MS SQL, так и MySQL) — каждый выбирает серверное ПО по своим потребностям, способностям, умениям, желаниям и целям. А на Windows-платформе, наверное, даже уместнее использовать MS-решения (далекооо не всегда, конечно, но иначе для чего Windows вообще тогда нужна?)
Но задача у нас стоит вполне определенная — нам нужен MySQL на платформе Windows Server (неважно какой — будь это 2003 Web Edition или 2008 Enterprise). Для чего — не особо важно (хоть и потребуется это понимание в процессе установки).
Скачиваем
Заходим на сайт www.mysql.com, идем во вкладку «Downloads», под надписью «MySQL Community Server» тыкаем в ссылку «Download». Открывается страница закачки, откуда мы можем скачать текущую версию или справа нажать на «Looking for previous GA versions?» и попасть на такую-же страницу закачки версии 5.1.
Здесь я опишу установку на основе MySQL 5.1.57, т. е. как раз «устаревшей», но максимально совместимой с используемыми на хостинг-серверах.
Итак, скачиваем и ложим, например, на рабочий стол.
Установка
Запускаем установщик. На вопрос «как ставить» выбираем «Typical».
После установки инсталлер нас спросит — настроить ли сервер сейчас («Configure MySQL Server now»). Ставим галочку и идем дальше.
Начальная конфигурация
Выбираем пункт «Detailed configuration» и двигаемся дальше.
1) Тип сервера. Нас спрашивают — что это за компьютер :
1а) Developer machine: машина разработчика ПО, работающего с базами данных MySQL. Выбирайте этот вариант в том случае, если это не сервер, а просто локальная инсталляция MySQL для работы программиста.
1б) Server machine: обычно выбираем этот вариант — это сервер, на котором будет стоять MySQL вместе с какими-то другими службами (например, с веб-сервером).
1в) Dedicated server machine: если на этой машине ничего, кроме MySQL, стоять не будет. Т.е. это сервер исключительно под базы данных MySQL.
2) Преимущественный тип БД.
2а) Multifunctional database. Сбалансированный вариант для использования как с базами данных InnoDB, так и MyISAM. Рекомендую выбирать его.
2б) Transactional database. Вариант, если подавляющее количество баз данных у Вас будет в формате InnoDB.
2в) NOn-transactional database. Вариант на случай, если большинство баз — в формате MyISAM.
3) Выбираем каталог, в котором MySQL сервер будет хранить базы данных.
4) Количество одновременных соединений (coucurrent connections). Сильно зависит от цели установки сервера MySQL.
4а) Decision Support DSS (OLAP). Небольшое количество одновременных соединений (будет установлена настройка на 20 одновременных соединений).
4б) Online Transaction Processing (OLTP). Больше подходит для популярных веб-серверов и клиент-серверного ПО в виде толстых клиентов — будет установлена настройка на 500 одновременных соединений.
4в) Manual. Вы сами можете выбрать в поле «Concurrent connections» значение, которое нужно установить.
Выбирайте аккуратно — если сервер готов принять больше соединений одновременно — то он будет больше кушать памяти, пуская большое количество ПО к себе. Если соединений не хватит — сервер ответит отказом очередному клиенту на соединение на время занятости. Что Вам важнее — тормоза при превышении расчетной нагрузки из-за активного своппинга или просто «откидывание» клиентов — решайте сами. Старайтесь прикинуть реальную нагрузку, которую может получить этот сервер.
5) Сетевая настройка.
5а) Enable TCP/IP Networking. Если поставить галочку — сервер будет доступен по TCP/IP. Крайне рекомендуется оставить этот пункт даже в том случае, если все ПО, использующее MySQL, находится на этом же сервере — какие-то клиенты могут не понимать ничего, кроме TCP/IP.
5б) Port number. По-умолчанию 3306. Лучше оставить по-умолчанию, иначе придется у всего ПО и сайтов исправлять настройки и указывать новый порт. Какой-то софт может банально не уметь ломиться не по стандартному порту.
5в) Add firewall exception for this port. Лучше включить, даже если брендмауер выключен — на будущее, если вдруг его включите. Эта опция добавляет автоматически исключение в файервол Windows для того, чтобы этот порт был открыт.
5г) Enable strict mode. Рекомендуют этот параметр оставить включенным. Оставляем.
6) Далее — выбор кодировки по-умолчанию.
6а) Standard character set. Установит Latin1 в качестве кодировки по-умолчанию.
6б) Best support for Multilingualism. Поставить UTF-8 в качетсве кодировки по-умолчанию. В данный момент большинство софта и сайтов пишутся под UTF-8, потому это рекомендованное значение для России.
6в) Manual selected character set. Если Вы хотите указать кодировку самостоятельно (например, KOI8-R или CP1251).
7) Сервис.
7а) Install as Windows service. Установить как сервис (службу) в Windows. Рекомендую так и делать — сервис запускает сразу после старта ОС, еще до логина любого пользователя. Для Windows Server — галочку обязательно установить!
7б) Launch MySQL Server automatically. Запускать автоматически. Ну а зачем нам, интересно, иначе его как службу ставить? Оставляем галочку установленной.
7в) Include BIN directory in Windows PATH. Поставив эту галочку, Вы проиструктируете инсталлер автоматически добавить путь до бинарников MySQL в переменную окружения PATH. Рекомендую галочку установить.
8) Безопасность.
8а) Пароль root. Здесь введите рутовый пароль (аналог sa в MS SQL).
8б) Enable root access from remote machines. Если поставить галочку — то можно будет зайти на сервер под root по сети — не только с этой машины локально. Например, если Вы устанавливаете к себе на другую машину (не на сервер) утилиту по управлению MySQL серверами, то эту галочку придется поставить. Если же Вы управляете MySQL этого сервера только с самого сервера — то снимаем галочку (так безопаснее).
8в) Create an anonymous account. Создать ли анонимного пользователя. По соображениям безопасности эту опцию очень рекомендовано выключить (по многим причинам — сейчас здесь описывать не буду).
9) Все, видим окно с кнопкой «Execute». Нажимаем на нее.
Проверка
В меню «Пуск» у нас появился пункт «MySQL Command Line Client». Нажимаем на него и вводим root-пароль (надеюсь, Вы не забыли его).
Перед нам возникает знакомая текстовая консоль управления MySQL сервером (знакомая для тех, кто MySQL админит в Unix, конечно).
Проверям:
> show databases;
+———————+
| Database |
+———————+
| information_schema |
| mysql |
| test |
+———————+
3 rows in set (0.00 sec)
MySQL работает 🙂
Графический интерфейс
Пользователям Windows близок и роден графический интерфейс (GUI). Не чужд, правда, он и пользователям *nix-систем, но сервера мы привыкли все-же видеть в виде тексовых консолей (core-установка Windows Server 2008, кстати, аналогом текстовой консоли Unix не является — это всего-лишь GUI с натянутым CMD, по большому счету).
Несмотря на то, что многие администраторы MySQL прекрасно рулят этим сервером из командной строки, а если даже нет — то через phpmyadmin, в Windows Вам, вероятно, захочется увидеть некое подобие SQL Server Management Studio или Enterprise Manager.
MySQL разработали такую утилиту и предоставляют ее для пользователей Windows (и не только). Конечно, бесплатно.
Итак, открываем сайт www.mysql.com, идем в раздел «Downloads» и тыкам на ссылку «Download» под надписью «MySQL Workbench (GUI Tool)». На открывшейся странице выбираем необходимый нам вариант (я рекомендую MSI) и загружаем.
Да, оно доступно только в виде x86-32 (32- бит ), однако работоспособность этой утилиты проверена на Windows Server 2008 R2 (как известно — нативно 64-битной) — все работает.
Установка
Для установки этой утилиты требуется .NET Framework 4 Client Profile. Не пугайтесь — это не весь .Net Framework 4 — полностью это чудо ставить не придется. Обходится утилита Framework 3. 5
Скачать и установить Client Profile можно отсюда:
http://www.microsoft.com/downloads/ru-ru/details.aspx?FamilyID=e5ad0459-cbcc-4b4f-97b6-fb17111cf544
После устнаовки Client Profile — запускаем установку Workbench. Установка максимально проста — пара вопросов, один из которых — куда, собственно, ставиться, и мы имеем рабочую утилиты для управления MySQL.
Первые шаги
Если Вы работали с Enterprise Manager в SQL Server 2000 или SQL Management Studio в SQL Server 2005/2008+, то суть работы для Вас будет более-менее ясной.
После запуска у Вас будет виден сразу подсоединенный локальный MySQL сервер. Вход осуществляется под пользователем root. Естественно, Вам необходимо знать пароль этого пользователя (аналог sa в MS SQL).
Вы видите три больших области — слева направо:
а) Управление базами данных сервера
б) EER-моделирование
в) Администрирование (запуск/останов/состояние, пользователи и т.д.)
Для подсоединения к необходимой консоли — кликните на названии сервера в этой консоле и введите пароль пользоватя, под которым Вы заходите.
Сноска. В консоли управления базами данных Вы не увидите системных баз. Они скрыты. Будут видны только пользовательские базы данных.
В верхней части Вы можете видеть панель с табами. На них будут отображаться открытые окна (т.е. можно открыть несколько окон за раз, например, работать с несколькими консолями баз данных с разных серверов).
Для подключения к другим (не локальным, например) серверам баз данных Вам необходимо создавать «подключения» через «New connection» для консоли управления БД или «New server instance» для консоли администрирования.
Управлять существующими подключениями (например, поменять адрес, порт, пользователя и т.д.) можно через «Manage Connections» или «Manage server instances» соответственно.
Администрирование
Покликав на нужный сервер (начнем, конечно, с «localhost») в 3й панели на «домашней» вкладке и введя пароль для root мы попадаем в панель администрирования сервера.
На странице «Server Status» мы видим текущий статус сервера: потребляемые ресурсы, статус (хотел сказать «демона». ..) службы, текущие подключения к серверу и т.д.
Startup/Shutdown: Соответственно, на этой старнице мы можем остановить сервер или снова его запустить.
Status and system variables: Тут мы можем посмотреть во внутренности состояния сервера в реал-тайме.
Server logs: Если логи сконфигурированы для отображения в таблице (table), то они будут видны здесь. Если же логи ведутся в файл — фигу, консоль отображать их не будет.
Options file: Не залазя в дебри файла my.cnf или его заменяющего на этой установке MySQL, мы можем легко и просто рулить опциями прямо отсюда — из графического интерфейса. Для записи изменения служит кнопка «Apply» внизу справа. Не забывайте, что сервер требует перезагрузки (MySQL-сервер, а не Windows Server) для применения изменений.
Users and privileges: Отсюда мы рулим пользователями данного сервера. Отсюда мы их создаем, разрешаем работать с той или иной базой данных, создавать других пользователей, удаляем и назначаем пароли.
Data export and restore: По сути — это инструмент резервного копирования или переноса баз данных. Отсюда мы можем выгрузить или загрузить выбранные базы данных в файл.
Управление базами данных (SQL Editor)
Выбрав нужным нам сервер в самой левой панели мы попадаем в консоль управления базами данных.
Отсюда мы можем создавать, изменять и удалять базы данных, таблицы, записи в таблицах, хранимые процедуры и представления.
Чем-то напоминает SQL Management Studio от Microsoft, не так ли?
Базы данных в Workbench называются Schema. Изначально список схем пуст — системые базы данных не показываются администраторам графической утилиты (в отличие от текстовой консоли управления, где системными базами можно рулить так-же, как и обычными… что бывает чревато неприятностями, конечно).
Для создания базы данных служит пункт «Add schema». Нажав на него, Вы попадете в окно создания базы, где будут заданы стандартные вопросы — имя базы, collation (сравнение), кодировка.
После создания, схема появится в списке схем. Для ее выбора — дважды кликните на ней. Треугольник слева от названия позволяет «раскрыть» схему, увидев ее содержание.
Пункт «Add table» служит для добавления таблицы. При этом схема уже должна быть выбрана. Кликнув на него перед Вами откроется окно создания таблицы. Оно значительно более наполнено опциями, чем окно создания базы. Здесь Вам предлагается задать имя таблицы, ее структуру, ключевые поля, индексы и т.д.
Через «Add view» мы, соответственно, можем создать представление таблицы.
«Add routine» предоставлят нам возможность создать хранимую процедуру для данной базы данных.
Все элементы базы видны после того, как нажать на треугольник слева от ее названия с списке. Отсюда мы можем видеть таблицы, представления и хранимые процедуры (Tables, View и Routines соответственно). По правому клику на элементе можно получить список действий, которые можно осуществлять с этим элементом. Например, у таблицы можно выбрать для просмотра первые 1000 записей (Select rows — Limit 1000), Вызвать редактор таблицы для изменения данных в ней (Edit table rows), Скопировать в буфер обмена те или иные данные таблицы (Copy to clipboard), Открыть те или иные данные во внутреннем SQL-редакторе (Send to SQL Editor), ну или создать новую таблицу, изменить эту или удалить.
Изучаем, пользуемся
Этот топик не предназначен быть мануалом по Workbench — здесь всего-лишь написан ответ на вопрос «А есть ли GUI для MySQL и что это за утилита». Работа с Workbench довольно проста и интуитивно понятна (для того, кто знаком с техническим английским и MySQL в целом, конечно). Поэтому — эстафету я Вам передаю. Утилита, как я уже сказал, проста в освоении.
MySQL сервер. Файл конфигураций my.ini. Настройка кодировки MySQL
Здравствуйте, уважаемые посетители моего скромного блога для начинающих вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжим сегодня рубрику Заметки о MySQL, в которой я уже успел рассказать о том, как установить MySQL сервер и как настроить сервер баз данных. Сегодня я продолжу рассказывать о настройках сервера MySQL. В данной статье мы разберемся со следующими вопросами: куда устанавливается MySQL сервер, где найти базы данных MySQL сервера, как найти базы данных MySQL, для чего нужен файл my. ini, посмотрим примеры настройки сервера MySQL и где найти примеры настройки MySQL сервера.
Разберемся с кодировкой MySQL сервера. Какую кодировку лучше использовать. Разберемся с командами MySQL сервера для смены кодировки. Так же затронем вопрос о включение и выключение MySQL, обратите внимание, что MySQL сервер не перезагружается. Посмотрим, какие возможности есть у сервера MySQL. Разберемся где лежат таблицы перекодировок MySQL сервера и как их добавить. А также сделаем настройки файла my.ini.
MySQL сервер. Настройка MySQL сервера, файл конфигурации my.ini, примеры настройки MySQL сервера.
Содержание статьи:
Как я уже говорил, с установкой и предварительной настройкой MySQL сервера мы разобрались, теперь давайте посмотрим, хотя бы поверхностно, из чего состоит MySQL сервер. Какие файлы за что отвечают. MySQL сервер, в моем случае был установлен по данному пути: c:\Users\Public\MySQL\, кто-то мог установить сам сервер в папку Program Files, обратите внимание, что этот путь не указывает, то место, где хранятся базы данных MySQL сервера, здесь находится сам сервер баз данных.
На скрине можно увидеть несколько файлов и папок сервера MySQL, нас собственно большая часть этих файлов не волнует.
Основной файл конфигурации MySQL сервера my.ini, это обычный текстовый файл, в который были вписаны настройки, которые мы вводили при установке MySQL сервера. Все остальные установленные файлы с расширением .ini – это всего лишь демонстрации настроек для my.ini, работает только my.ini, то есть, все остальные файлы существуют, как примеры для конфигурации и настройки MySQL сервера. Проще говоря, пример, как настроить MySQL сервер.
Программы MySQL сервера, какой файл для чего нужен
Где лежат примеры настроек MySQL сервера мы разобрались. Сами программы, предназначенные для обслуживания баз данных, находятся в папке bin.
Сам сервер MySQL – это mysqld.exe, d – означает демон, ну или служба. Про некоторые другие утилиты и программы мы поговорим в дальнейшем более подробно. Если у вас стоит win xp, то базы данных будут находиться c:\Documents and Settings\All Users\Application Data\MySQL\ MySQL Server 5.x\data, если вы пользуетесь total commander или любым другим нормальным файловым менеджером, то без труда найдете эту папку, если вы пользуетесь проводником от Windows, то обязательно укажите в настройках «Отображать скрытые файлы», так как данная папка скрыта.
На самом деле все это можно настроить в файле my.ini и реально эти папки могут находиться, там где вам будет удобнее. Файл my.ini нужно будет разобрать более подробно, и тема эта для отдельной статьи.
Кодировка MySQL сервера. SET NAMES — команда для смены кодировки. Кодировка командной строки Windows.
И так, теперь немного поговорим о кодировке сервера MySQL и кодировке командной строки Windows. Если вы будете пользоваться MySQL Command Lint Client, то проблем с кодировкой у вас возникнуть не должно.
Данный клиент установиться вместе с сервером и работа в нем не отличается от работы с командной строкой Windows. Для начала, вы вводите пароль, придуманный вами при установки MySQL сервера, а затем, не заморачиваясь с кодировками и командами типа SET Names, начинаете работать с базами данных: создавать новые базы данных, удалять базы данных, добавлять строки и столбцы к существующим таблицам баз данных, делать выборки из баз данных, создавать и удалять таблицы и многое-многое другое.
Но если вы решили управлять сервером MySQL через командную строку, то знайте, что кодировка командной строки Windows отличается от кодировки MySQL сервера, в командной строке – это cp866, MySQL сервер в моем случае работает с кодировкой UTF8. И это нужно исправить, кодировку командной строки поменять мы не можем. Остается менять кодировку, с которой работает сервер MySQL.
Как изменить кодировку MySQL сервера. Как получить доступ к серверу MySQL через командную строку Windows.
Тут у нас есть два способа. Первый из них, постоянно писать команду SET NAMES и указывать кодировку cp866. SET NAMES – это не одна команда, как считают некоторые, а целых три. Первая команда – установить кодировку ввода, то есть, с какой кодировки перекодировать данные, которые получает сервер. Вторая команда – установить кодировку вывода, то есть, в какой кодировки сервер MySQL будет отдавать данные. И третья команда – установить collation или по другому правила сравнения строк. И чтобы не набирать три команды сразу была придумана команда SET NAMES. И так, чтобы указать нужную кодировку следует написать SET NAMES, а затем в одинарных кавычках написать нужную кодировку.
Выглядит все это примерно так:
Не забудьте точку с запятой, этот символ означает конец команды.
Чуть было не забыл, если вы пользуетесь командной строкой, то не забудьте, что MySQL сервер запускается путем написания команды mysql –uroot –pпароль, соответственно, после буквы u вы указываете пользователя сервера MySQL, а после буквы p – пароль. Пример на скрине:
Под цифрой один, вы можете посмотреть, как указать папку, где установлен сервер MySQL, под цифрой два показано, как получить доступ к серверу баз данных.
По сути, вводя команду SET NAMES, мы как бы говорим серверу: «В данном сеансе(или иначе подключении) я буду работать с тобой вот в этой кодировки». То есть, из этого следует, что при каждом новом подключении к серверу MySQL, нам потребуется постоянно вводить команду SET NAMES и указывать кодировку, с которой необходимо работать. Удобно? Мне кажется, что не очень. Никаких SET NAMES при работе с консолью от MySQL вводить не надо.
Настройка MySQL сервера. Файл конфигураций my.ini. Настройка кодировок MySQL сервера.
И так, чтобы не париться с кодировкой, нужно настроить MySQL сервер. Настройки сервера производятся в файле my.ini. Открывайте его текстовым редактором, я пользуюсь Notepad++, очень удобный редактор, его легко настроить, есть подсветка синтаксиса, а самое главное – его можно скачать бесплатно.
Обратите внимание, что my.ini состоит из разделов, первый – Client, второй – mysql, третий – mysqld. Раздел mysqld – отвечает за настройку сервера MySQL. Mysql – это настройка черного окошечка, в котором собственно и будем работать. Раздел client – это настройки по умолчанию для всех клиентов MySQL сервера.
Обратите внимание, на скриншоте выделена кодировка, которая стоит для работы в консоле, если вы будете пользоваться консолью от MySQL, то здесь ничего не меняйте, если вы предпочитаете командную строку Windows, то кое какие изменения сделать придется, дабы постоянно не писать SET NAMES. Как видно, кодировка для работы с окном DOS стоит utf8, но это не правда, так как в черном окне у нас кодировка cp866. То есть, первое, что надо поменять – это вместо utf8 написать cp866.
default-character-set=cp866
default-character-set=cp866 |
Таблицы перекодировок MySQL сервера.
Где находятся таблицы перекодировок и куда их прописать.Но этого будет недостаточно. Потому что мы пока не указали, где лежат таблицы перекодировки сервера MySQL. То есть, грубо говоря, консоль пока не знает, как переводить из одной кодировки в другую. Программе надо указать, где лежат таблицы перекодировки, а лежат они собственно в самом сервере MySQL, в папке Share, в папке charsets. Путь выглядит примерно так:
c:\Users\Public\MySQL\MySQL Server 5.5\share\charsets\
c:\Users\Public\MySQL\MySQL Server 5.5\share\charsets\ |
В этой папке много файлов с расширением XML, про язык расширяемой разметки XML, уже есть несколько публикаций в рубрике Заметки о XML. Именно в папке charsets вы можете посмотреть, какие кодировки поддерживает MySQL сервер.
В качестве примера можно привести Денвер – джентльменский набор web разработчика. У многих возникают проблемы типа: у меня на Денвере не работает кодировка UTF8, что делать? Ответ: для начала загляните в папку charsets Денверовского MySQL сервера, и если там нет файла utf8.xml, то понятно, что он и не будет поддерживать эту кодировку.
Понятно, что командная строка Windows не знает, где лежат таблицы перекодировок и ей это нужно указать. Делается это все в том же my.ini, в разделе mysql указывается папка, в которой хранятся таблицы перекодировок, при помощи команды character-sets-dir=””, между двойными кавычками нужно вписать путь к папке, в которой лежат таблицы перекодировок.
Не забудьте, что в разделе Client нужно указать кодировку – там необходимо указать utf8, а также прописать путь к таблицам сравнения, на всякий пожарный.
Итоговая настройка my.ini будет выглядеть примерно так:
[client] character-sets-dir=»c:\Users\Public\MySQL\MySQL Server 5.5\share\charsets» default-character-set=utf8 port=3306 [mysql] character-sets-dir=»c:\Users\Public\MySQL\MySQL Server 5. 5\share\charsets» default-character-set=cp866
[client]
character-sets-dir=»c:\Users\Public\MySQL\MySQL Server 5.5\share\charsets»
default-character-set=utf8
port=3306
[mysql]
character-sets-dir=»c:\Users\Public\MySQL\MySQL Server 5.5\share\charsets»
default-character-set=cp866 |
Но если вы будете использовать консоль от MySQL, то внесите изменения только в раздел client, и то не обязательно, хотя папку с таблицами перекодировки лучше указать в двух разделах:
[client] character-sets-dir=»c:\Users\Public\MySQL\MySQL Server 5.5\share\charsets» default-character-set=utf8 port=3306 [mysql] character-sets-dir=»c:\Users\Public\MySQL\MySQL Server 5.5\share\charsets» default-character-set=utf8
[client]
character-sets-dir=»c:\Users\Public\MySQL\MySQL Server 5. 5\share\charsets»
default-character-set=utf8
port=3306
[mysql]
character-sets-dir=»c:\Users\Public\MySQL\MySQL Server 5.5\share\charsets»
default-character-set=utf8 |
Ну а вот скрин из редактора, тут прописаны настройки для работы с сервером MySQL через командную строку:
Все эти настройки и команды означают буквально следующее: character-sets-dir – этой строкой мы как бы говорим, в первом случае, клиенты вы берете таблицы вот отсюда и указываете, откуда они берут таблицы перекодировок. default-character-set=cp866, этой строкой вы как бы говорите консоли, ты будешь использовать кодировку cp866. Да чуть не забыл, все слэши нужно использовать в UNIX виде, то есть, в примерах слеши написаны не правильно их нужно развернуть вот так — /. В Windows без разницы, какие вы будете использовать разделители, но если вы пользуетесь UNIX системами, то слеши нужно будет развернуть.
Как включить MySQL сервер. Как выключить MySQL сервер. Что нужно сделать, чтобы новые настройки сохранились.
После того, как вы внесли изменения в my.ini, нужно перезагрузить MySQL сервер, команды рестарт, как в случае с Apache тут нет. Придется выключить и заново включить сервер. Сделать это можно из командной строки, используя две команды. Первая net stop – предназначена для выключения службы, вторая – net start, которая предназначена для включения службы. Служба у нас MySQL сервер, следовательно, для него эти команды будут выглядеть так:
net stop mysql net start mysql
net stop mysql
net start mysql |
Обратите внимание, что никаких точек с запятой после этих команд ставить не надо, как в случае с Set NAMES. Да и перед тем, как перезагрузить MySQL сервер, не забудьте, что нужно выйти из аккаунта управления сервером MySQL, чтобы это сделать есть команда exit.
Командой exit мы вышли из MySQL сервера, а командой net stop mysql мы выключили MySQL сервер. Когда вы в следующий раз включите MySQL сервер, командой net start mysql, а затем и войдете, как администратор сервера то никаких SET NAMES в командной строке Windows писать уже не надо, так как все уже указано в файле my.ini. Еще одна маленькая помарка, все эти настройки избавляют вас от того, чтобы постоянно вводить SET NAMES в командной строке, но не избавляет вас от необходимости вводить SET NAMES, в случае, когда вы обращаетесь к серверу MySQL при написание скриптов на PHP или любом другом языке программирования.
Также не забудьте, если настроили MySQL сервер под работу в командной строке, то вам придется постоянно указывать кодировку для работы с сервером в консоли от MySQL – MySQL Command Client.
На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah. ru
Что такое сервер? Для чего нужен сервер или компьютер и цены DELL PowerEdge онлайн + калькулятор
Что такое сервер?Для владельца малого бизнеса добавление сервера в вашу сеть не обязательно должно быть сложной задачей.
Если у вас еще нет сервера в вашей компании конфигуратор серверов DELL, вы, вероятно, уже используете настольную систему в качестве сервера. Возможно, он контролирует некоторые файлы или принтеры, которые вы можете использовать на других ПК, но есть ключевые различия между серверами и рабочими столами и многие веские причины инвестировать в сервер для вашего малого бизнеса. Прежде всего, вам нужно понять эти ключевые различия между серверами и настольными компьютерами.
Итак, давайте рассмотрим некоторые из этих различий. На первый взгляд они кажутся очень похожими. Оба имеют процессор, ОЗУ и жесткие диски для хранения. Однако серверы сконструированы с учетом тяжелых задач, и не имеют достаточной возможности для работы с обычными рабочими нагрузками на рабочем столе, такими как приложения с интенсивным графическим интерфейсом. Серверы превосходят запущенные службы, поддерживающие эти настольные приложения, такие как базы данных. ЦП на начальном уровне не все отличается от рабочего стола среднего уровня, но в некоторых отношениях отличается от размера кеша. Проще говоря, кэш ЦП — это небольшой, выделенный пул ОЗУ, который процессор может использовать для хранения часто запрашиваемых данных. Если кеш больше, процессор становится быстрее, потому что он может хранить больше данных в кеше для более быстрого вызова. По этой причине серверные процессоры обычно имеют большие и разнообразные кеши, чем настольные системы. Как и современные настольные системы, серверные процессоры могут иметь несколько ядер, хотя обычно они лучше используют несколько ядер, чем настольные системы.
Многоядерные процессоры — это в основном один процессор, содержащий два или более ядра обработки. По сути, это похоже на несколько процессоров на одном чипе. Использование многоядерных процессоров может значительно увеличить вычислительную мощность системы и продлить срок службы вашего сервера.
Некоторые серверы начального уровня, такие как Intel Celeron 445, могут иметь одноядерные процессоры. Для офиса, состоящего из менее 10 пользователей, этого достаточно. Имейте в виду, однако, что несколько дополнительных долларов, вложенных в настоящее время на более мощный сервер, например, двух- или четырехъядерный процессор, могут быть очень полезны по мере роста вашего бизнеса. Переоценка ваших потребностей теперь может быть вашим лучшим выбором.
ПОНИМАНИЕ RAID
Одной из основных отличий оборудования между серверами и рабочими станциями является дисковая подсистема. Хотя на настольных компьютерах есть один жесткий диск, на серверах обычно имеется несколько жестких дисков, которые могут отображаться как один диск. Это называется RAID или избыточным массивом недорогих дисков. RAID широко используется для защиты серверов от отдельных сбоев диска, что критично, когда ваш бизнес поставлен на карту. Если диск в массиве RAID выходит из строя, это не означает, что данные, содержащиеся на этом диске, будут потеряны, поскольку другие диски в массиве все еще содержат данные. Существует несколько уровней RAID, но для серверов начального уровня уровни RAID 1 и 5 являются наиболее распространенными.
Уровень RAID 1 является простым зеркалом двух жестких дисков. Данные, хранящиеся в массиве RAID 1, существуют на обоих дисках в любое время. Если один диск выходит из строя, на другом диске по-прежнему имеется полная копия данных, и сервер может продолжать функционировать. RAID 5 более сложный, в котором задействовано как минимум три диска, и настройка может пережить отказ какого-либо одного диска. Любой из них будет защищать от сбоев, но RAID 5 обеспечивает более доступное дисковое пространство, чем RAID 1, и быстрее. Эта защита данных имеет решающее значение для сервера, и любой добавленный сервер должен быть оснащен RAID-контроллером и RAID-массивом. Убедитесь, что на сервере установлен RAID-контроллер на базе аппаратного обеспечения, а не только программный RAID-накопитель на базе программного обеспечения, но может быть более проблематичным для непосвященных, поскольку нет специального контроллера, управляющего жесткими диски. Если вы используете только программный RAID, вы можете столкнуться с трудностями в случае сбоя диска, особенно если вы не являетесь экспертом в процедурах восстановления программного RAID.
Диски на серверах также обычно отличаются от дисков на рабочих столах. На жестких дисках больше, чем просто размер — скорость, с которой пластины в пределах вращения диска могут сильно влиять на производительность всего сервера. Жесткие диски, работающие со скоростью 10 000 об / мин, могут передавать данные быстрее, чем более медленные приводы с частотой вращения 5400 об / мин, особенно при нагрузке. Существует несколько различных типов жестких дисков, таких как диски SATA и SAS. Для большинства серверов начального уровня будет достаточно 7,200 RPM дисков SATA, сконфигурированных в массиве RAID1 или RAID 5. Для более высокой производительности вы можете рассмотреть диски SAS. Как правило, диски с более высокой производительностью необходимы только в том случае, если на сервере будут работать более тяжелые приложения, такие как большая база данных. Некоторые серверы начального уровня предлагают жесткие диски с возможностью «горячей» замены, а другие — нет. Приводы с возможностью «горячей» замены позволяют заменить жесткий диск, не закрывая сервер или даже открывая корпус. Если диск выходит из строя, его можно вытащить из работающего сервера и заменить. Когда диск заменяется, RAID-контроллер затем перестраивает RAID-массив, чтобы гарантировать защиту данных. Если на сервере нет жестких дисков с возможностью «горячей» замены, сервер должен быть отключен, открыт, а неисправный жесткий диск заменен внутри системы.
RACK VS. TOWER
Серверы начального уровня обычно доступны в виде стойки или башни. Если это первый сервер для компании, у вас, вероятно, не будет подходящей серверной стойки уже на месте, а для одного сервера добавление этой стойки может оказаться неэффективным. Таким образом, оптимальный вариант — это сервер башни. Многие серверы башни впоследствии могут быть преобразованы в серверы на стойке с соответствующим набором для преобразования, поэтому, если ваша инфраструктура растет до такой степени, что требуется стойка, ваши существующие инвестиции могут быть изменены в соответствии с вашими потребностями.
Башенный сервер, как правило, немного больше, чем обычная настольная система, и может быть помещен под стол или в зону с небольшим трафиком. Хотя неплохо также иметь монитор, клавиатуру и мышь, подключенные к серверу, не испытывайте соблазна использовать сервер в качестве настольной системы. СЛОВО ОБ ОЗУ
Серверы также имеют очень быструю ОЗУ, что очень важно для производительности. Поскольку серверы одновременно выполняют множество разных задач, оперативная память и быстрая системная шина имеют решающее значение для обеспечения бесперебойной работы. ECC или исправление ошибок, ОЗУ также является особенностью большинства систем серверного класса. ECC помогает защитить целостность данных, хранящихся в ОЗУ, во время нормальной обработки. Это стоит немного больше, чем RAM без ECC, но в серверной системе это обычно является требованием. Еще одна особенность большинства серверов — резервные источники питания. Это означает, что на сервере есть как минимум два источника питания, которые одновременно потребляют энергию во время нормальной работы. Если один источник питания выходит из строя или подача питания на это питание, сервер продолжает функционировать. Не все серверы имеют эту функцию, но некоторые предлагают возможность добавления другого источника питания позже. Как и на любом компьютере, вы должны добавить ИБП (источник бесперебойного питания), чтобы защитить ваш сервер от скачков напряжения и сбоев. SERIPPEDDOWN SERVER
Поскольку серверы не предназначены для запуска настольных приложений, их графические подсистемы, как правило, очень просты. На многих серверах даже нет клавиатуры, монитора или мыши, подключенных к ним, поскольку они могут управляться через сеть. Однако в среде малого бизнеса вы можете с пользой иметь монитор, клавиатуру и мышь на вашем сервере, особенно если это единственный. Большинство серверов начального уровня только немного больше, чем настольные системы, и могут поместиться под столом или в углу. Убедитесь, что есть достаточная вентиляция и климат-контроль, где бы вы ни разместили сервер. Для подключения к сети большинство серверов имеют по крайней мере один гигабитный сетевой интерфейс (часть аппаратного обеспечения, которая ведет переговоры с сетью). Эти интерфейсы отличаются от сетевых карт на настольных компьютерах, так как сами выполняют определенные сетевые функции, освобождая центральный процессор сервера для обработки более сложных задач. Конечным результатом является то, что они могут загружать больше данных под нагрузкой, чем обычные сетевые интерфейсы. Если на сервере имеется несколько интерфейсов, их можно даже связать вместе, чтобы обеспечить большую пропускную способность.
Добавив сервер — даже сервер начального уровня — в вашу сеть, вы можете извлечь большую пользу из этих функций, особенно учитывая защиту данных, доступную в RAID-массиве. Кроме того, добавив сервер, вы уменьшаете вероятность того, что шпионские и вирусы будут влиять на ваши бизнес-данные, пока вы запускаете на сервере сильное антивирусное программное обеспечение.
По большей части серверы в настройках малого бизнеса предназначены для запуска большого количества различных сервисов и приложений для поддержки небольшого числа пользователей. Такие продукты, как Microsoft Small Business Server, предназначены для этого. Они предлагают множество различных функций, которые могут работать на одном выделенном сервере, но они могут поддерживать только относительно небольшое количество пользователей. Во многих средах малого бизнеса это все, что необходимо. И есть еще одна хорошая новость: в наши дни серверы начального уровня доступны почти по той же цене, что и настольные компьютеры среднего уровня, что делает их естественными для малого бизнеса.
Сравнение моделейПриступая к работе с MySQL MongoDB, PostgreSQL, SQLite, Microsoft SQL Server или Redis, чтобы настроить базу данных в подсистеме Windows для Linux
- Чтение занимает 8 мин
В этой статье
Это пошаговое руководство поможет приступить к подключению проекта в WSL к базе данных. This step-by-step guide will help you get started connecting your project in WSL to a database. Приступая к работе с MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server или SQLite.Get started with MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server, or SQLite.
предварительные требованияPrerequisites
Различия между системами баз данныхDifferences between database systems
Наиболее популярными вариантами для системы базы данных являются:The most popular choices for a database system include:
MySQL — это реляционная база данных SQL с открытым исходным кодом, которая организует данные в одну или несколько таблиц, в которых типы данных могут быть связаны друг с другом.MySQL is an open-source SQL relational database, organizing data into one or more tables in which data types may be related to each other. Он вертикально масштабируемый. Это означает, что один конечный компьютер выполняет свою работу.It is vertically scalable, which means one ultimate machine will do the work for you. В настоящее время это наиболее широкое использование четырех систем баз данных.It is currently the most widely used of the four database systems.
PostgreSQL (иногда называется postgres) — это также реляционная база данных SQL с открытым исходным кодом, в которой особое внимание уделяется расширению и соответствию стандартам.PostgreSQL (sometimes referred to as Postgres) is also an open-source SQL relational database with an emphasis on extensibility and standards compliance. Теперь она также может обрабатывать JSON, однако обычно лучше подходит для структурированных данных, вертикального масштабирования и требований ACID, таких как электронная коммерция и финансовые транзакции.It can handle JSON now too, but it is generally better for structured data, vertical scaling, and ACID-compliant needs like eCommerce and financial transactions.
Microsoft SQL Server включает SQL Server в Windows, SQL Server на Linux и SQL в Azure.Microsoft SQL Server includes SQL Server on Windows, SQL Server on Linux, and SQL on Azure. Это также системы управления реляционными базами данных, настроенные на серверах с основной функцией хранения и извлечения данных в соответствии с запросом программных приложений.These are also relational database management systems set up on servers with primary function of storing and retrieving data as requested by software applications.
SQLite — это автономно автономная, основанная на файлах база данных с открытым исходным кодом, которая обеспечивает переносимость, надежность и высокую производительность даже в средах с нехваткой памяти.SQLite is an open-source self-contained, file-based, “serverless” database, known for its portability, reliability, and good performance even in low-memory environments.
MongoDB — это база данных документов NoSQL с открытым исходным кодом, предназначенная для работы с JSON и хранения данных без схемы.MongoDB is an open-source NoSQL document database designed to work with JSON and store schema-free data. Это горизонтально масштабируемый. Это означает, что несколько небольших компьютеров будут выполнять свою работу.It is horizontally scalable, which means multiple smaller machines will do the work for you. Это хорошо подходит для гибкости и неструктурированных данных, а также для кэширования аналитики в режиме реального времени.It’s good for flexibility and unstructured data, and caching real-time analytics.
Redis — это хранилище структуры данных NoSQL в памяти с открытым исходным кодом.Redis is is an open-source NoSQL in-memory data structure store. Вместо документов используются пары «ключ-значение» для хранения.It uses key-value pairs for storage instead of documents. Redis известен как гибкость, производительность и широкая поддержка языка.Redis is known for its flexibility, performance, and wide language support. Он достаточно гибок для использования в качестве кэша или брокера сообщений и может использовать такие структуры данных, как списки, наборы и хэши.It’s flexible enough to be used as a cache or message broker and can use data structures like lists, sets, and hashes.
Выбор базы данных должен зависеть от типа приложения, с которым вы будете использовать базу данных.The sort of database you choose should depend on the type of application you will be using the database with. Мы рекомендуем вам изучить преимущества и недостатки структурированных и неструктурированных баз данных и сделать выбор в зависимости от конкретного случая использования.We recommend that you look up the advantages and disadvantages of structured and unstructured databases and choose based on your use case.
Установка MySQLInstall MySQL
Установка MySQL в WSL (Ubuntu 18,04):To install MySQL on WSL (Ubuntu 18.04):
- Откройте терминал WSL (например, Ubuntu 18.04).Open your WSL terminal (ie. Ubuntu 18.04).
- Обновите пакеты Ubuntu:
sudo apt update
Update your Ubuntu packages:sudo apt update
- После обновления пакетов установите MySQL с помощью:
sudo apt install mysql-server
Once the packages have updated, install MySQL with:sudo apt install mysql-server
- Подтвердите установку и получите номер версии:
mysql --version
Confirm installation and get the version number:mysql --version
Также может потребоваться запустить прилагаемый сценарий безопасности.You may also want to run the included security script. Это изменяет некоторые менее безопасные параметры по умолчанию для таких вещей, как удаленные корневые имена входа и примеры пользователей.This changes some of the less secure default options for things like remote root logins and sample users. Чтобы запустить сценарий безопасности, выполните следующие действия.To run the security script:
- Запустите сервер MySQL.
sudo /etc/init.d/mysql start
Start a MySQL server:sudo /etc/init.d/mysql start
- Запустите запрос сценария безопасности:
sudo mysql_secure_installation
Start the security script prompts:sudo mysql_secure_installation
- В первом запросе будет указано, хотите ли вы настроить подключаемый модуль проверки пароля, который можно использовать для проверки надежности пароля MySQL.The first prompt will ask whether you’d like to set up the Validate Password Plugin, which can be used to test the strength of your MySQL password. Затем вы установите пароль для привилегированного пользователя MySQL, решите, следует ли удалять анонимных пользователей, решите, следует ли разрешить вход привилегированного пользователя как локально, так и удаленно, решить, следует ли удалить тестовую базу данных, и, наконец, решить, нужно ли повторно загружать таблицы прав.You will then set a password for the MySQL root user, decide whether or not to remove anonymous users, decide whether to allow the root user to login both locally and remotely, decide whether to remove the test database, and, lastly, decide whether to reload the privilege tables immediately.
Чтобы открыть запрос MySQL, введите: sudo mysql
To open the MySQL prompt, enter: sudo mysql
Чтобы узнать, какие базы данных доступны, в командной строке MySQL введите: SHOW DATABASES;
To see what databases you have available, in the MySQL prompt, enter: SHOW DATABASES;
Чтобы создать новую базу данных, введите: CREATE DATABASE database_name;
To create a new database, enter: CREATE DATABASE database_name;
Чтобы удалить базу данных, введите: DROP DATABASE database_name;
To delete a database, enter: DROP DATABASE database_name;
Дополнительные сведения о работе с базами данных MySQL см. в документации по MySQL.For more about working with MySQL databases, see the MySQL docs.
Для работы с базами данных MySQL в VS Code попробуйте расширение MySQL.To work with with MySQL databases in VS Code, try the MySQL extension.
Установка PostgreSQLInstall PostgreSQL
Чтобы установить PostgreSQL на WSL (Ubuntu 18,04), сделайте следующее:To install PostgreSQL on WSL (Ubuntu 18.04):
- Откройте терминал WSL (например, Ubuntu 18.04).Open your WSL terminal (ie. Ubuntu 18.04).
- Обновите пакеты Ubuntu:
sudo apt update
Update your Ubuntu packages:sudo apt update
- После обновления пакетов установите PostgreSQL (и пакет -contrib с некоторыми полезными служебными программами) с помощью команды
sudo apt install postgresql postgresql-contrib
.Once the packages have updated, install PostgreSQL (and the -contrib package which has some helpful utilities) with:sudo apt install postgresql postgresql-contrib
- Подтвердите установку и получите номер версии:
psql --version
Confirm installation and get the version number:psql --version
Есть 3 команды, о которых необходимо знать после установки PostgreSQL:There are 3 commands you need to know once PostgreSQL is installed:
sudo service postgresql status
позволяет проверить состояние базы данных.sudo service postgresql status
for checking the status of your database.sudo service postgresql start
позволяет запустить базу данных.sudo service postgresql start
to start running your database.sudo service postgresql stop
позволяет завершить работу с базой данных.sudo service postgresql stop
to stop running your database.
Администратору по умолчанию postgres
требуется назначать пароль для подключения к базе данных.The default admin user, postgres
, needs a password assigned in order to connect to a database. Чтобы задать пароль, сделайте следующее:To set a password:
- Введите команду:
sudo passwd postgres
.Enter the command:sudo passwd postgres
- Появится запрос на ввод нового пароля.You will get a prompt to enter your new password.
- Закройте и снова откройте терминал.Close and reopen your terminal.
Чтобы запустить PostgreSQL с помощью оболочки psql , выполните следующие действия.To run PostgreSQL with psql shell:
- Запустите службу postgres:
sudo service postgresql start
Start your postgres service:sudo service postgresql start
- Подключитесь к службе postgres и откройте оболочку psql:
sudo -u postgres psql
Connect to the postgres service and open the psql shell:sudo -u postgres psql
После успешного входа в оболочку psql вы увидите, что ваша командная строка будет выглядеть следующим образом: postgres=#
Once you have successfully entered the psql shell, you will see your command line change to look like this: postgres=#
Примечание
Кроме того, вы можете открыть оболочку psql, перейдя к пользователю postgres с помощью команды su - postgres
, а затем введя команду psql
.Alternatively, you can open the psql shell by switching to the postgres user with: su - postgres
and then entering the command: psql
.
Чтобы выйти из postgres = # ввод: \q
или используйте сочетание клавиш, нажмите клавиши CTRL + D.To exit postgres=# enter: \q
or use the shortcut key: Ctrl+D
Чтобы узнать, какие учетные записи пользователей были созданы в установке PostgreSQL, в терминале WSL введите psql -c "\du"
или просто \du
, если оболочка psql открыта.To see what user accounts have been created on your PostgreSQL installation, use from your WSL terminal: psql -c "\du"
…or just \du
if you have the psql shell open. Эта команда будет отображать столбцы: имя пользователя учетной записи, список атрибутов ролей и член групп ролей.This command will display columns: Account User Name, List of Roles Attributes, and Member of role group(s). Чтобы вернуться в командную строку, введите: q
.To exit back to the command line, enter: q
.
Дополнительные сведения о работе с базами данных PostgreSQL см. в документации по PostgreSQL.For more about working with PostgreSQL databases, see the PostgreSQL docs.
Для работы с базами данных PostgreSQL в VS Code попробуйте использовать расширение PostgreSQL.To work with with PostgreSQL databases in VS Code, try the PostgreSQL extension.
Установка MongoDBInstall MongoDB
Чтобы установить MongoDB на WSL (Ubuntu 18,04), сделайте следующее:To install MongoDB on WSL (Ubuntu 18.04):
- Откройте терминал WSL (например, Ubuntu 18.04).Open your WSL terminal (ie. Ubuntu 18.04).
- Обновите пакеты Ubuntu:
sudo apt update
Update your Ubuntu packages:sudo apt update
- После обновления пакетов установите MongoDB с помощью:
sudo apt-get install mongodb
Once the packages have updated, install MongoDB with:sudo apt-get install mongodb
- Подтвердите установку и получите номер версии:
mongod --version
Confirm installation and get the version number:mongod --version
После установки MongoDB следует знать 3 команды:There are 3 commands you need to know once MongoDB is installed:
sudo service mongodb status
позволяет проверить состояние базы данных.sudo service mongodb status
for checking the status of your database.sudo service mongodb start
позволяет запустить базу данных.sudo service mongodb start
to start running your database.sudo service mongodb stop
позволяет завершить работу с базой данных.sudo service mongodb stop
to stop running your database.
Примечание
Вы можете увидеть команду sudo systemctl status mongodb
, используемую в учебниках или статьях.You might see the command sudo systemctl status mongodb
used in tutorials or articles. Чтобы остаться облегченным, WSL не включает systemd
(система управления службами в Linux).In order to remain lightweight, WSL does not include systemd
(a service management system in Linux). Вместо этого он использует SysVinit для запуска служб на компьютере.Instead, it uses SysVinit to start services on your machine. Вы не должны заметить разницы, но если учебник рекомендует использовать sudo systemctl
, используйте: sudo /etc/init.d/
.You shouldn’t notice a difference, but if a tutorial recommends using sudo systemctl
, instead use: sudo /etc/init.d/
. Например, sudo systemctl status mongodb
для WSL будет sudo /etc/inid.d/mongodb status
… или вы также можете использовать sudo service mongodb status
.For example, sudo systemctl status mongodb
, for WSL would be sudo /etc/inid.d/mongodb status
…or you can also use sudo service mongodb status
.
Чтобы запустить базу данных Mongo на локальном сервере, выполните следующие действия.To run your Mongo database in a local server:
Проверьте состояние базы данных:
sudo service mongodb status
вы должны увидеть ответ [Fail], если вы еще не начали работу с базой данных.Check the status of your database:sudo service mongodb status
You should see a [Fail] response, unless you’ve already started your database.Запустите базу данных.
sudo service mongodb start
теперь должен отобразиться ответ [ОК].Start your database:sudo service mongodb start
You should now see an [OK] response.Проверьте, подключившись к серверу базы данных и выполнив команду диагностики:
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
в результате будет выведена Текущая версия базы данных, адрес и порт сервера, а также выходные данные команды Status.Verify by connecting to the database server and running a diagnostic command:mongo --eval 'db.runCommand({ connectionStatus: 1 })'
This will output the current database version, the server address and port, and the output of the status command. Значение1
в поле «ОК» в ответе указывает на то, что сервер работает.A value of1
for the «ok» field in the response indicates that the server is working.Чтобы предотвратить запуск службы MongoDB, введите:
sudo service mongodb stop
To stop your MongoDB service from running, enter:sudo service mongodb stop
Примечание
MongoDB имеет несколько параметров по умолчанию, включая хранение данных в /data/db и выполнение на порте 27017.MongoDB has several default parameters, including storing data in /data/db and running on port 27017. Кроме того, mongod
является управляющей программой (хост-процессом для базы данных), а mongo
— оболочкой командной строки, которая подключается к конкретному экземпляру mongod
.Also, mongod
is the daemon (host process for the database) and mongo
is the command-line shell that connects to a specific instance of mongod
.
VS Code поддерживает работу с базами данных MongoDB с помощью расширения Azure CosmosDB, вы можете создавать, управлять базами данных MongoDB и выполнять запросы из них в VS Code.VS Code supports working with MongoDB databases via the Azure CosmosDB extension, you can create, manage and query MongoDB databases from within VS Code. Дополнительные сведения см. в VS Code документах: Работа с MongoDB.To learn more, visit the VS Code docs: Working with MongoDB.
Дополнительные сведения см. в документах MongoDB:Learn more in the MongoDB docs:
Установка Microsoft SQL ServerInstall Microsoft SQL Server
Чтобы установить SQL Server на WSL (Ubuntu 18,04), следуйте указаниям в этом кратком руководстве: установка SQL Server и создание базы данных на Ubuntu.To install SQL Server on WSL (Ubuntu 18.04), follow this quickstart: Install SQL Server and create a database on Ubuntu.
Для работы с Microsoft SQL Server базами данных в VS Code используйте расширение MSSQL.To work with Microsoft SQL Server databases in VS Code, try the MSSQL extension.
Установка SQLiteInstall SQLite
Установка SQLite в WSL (Ubuntu 18,04):To install SQLite on WSL (Ubuntu 18.04):
- Откройте терминал WSL (например, Ubuntu 18.04).Open your WSL terminal (ie. Ubuntu 18.04).
- Обновите пакеты Ubuntu:
sudo apt update
Update your Ubuntu packages:sudo apt update
- После обновления пакетов установите SQLite3 с помощью:
sudo apt install sqlite3
Once the packages have updated, install SQLite3 with:sudo apt install sqlite3
- Подтвердите установку и получите номер версии:
sqlite3 --version
Confirm installation and get the version number:sqlite3 --version
Чтобы создать тестовую базу данных с именем example. DB, введите: sqlite3 example.db
To create a test database, called «example.db», enter: sqlite3 example.db
Чтобы просмотреть список баз данных SQLite, введите: .databases
To see a list of your SQLite databases, enter: .databases
Чтобы просмотреть состояние базы данных, введите: .dbinfo ?DB?
To see the status of your database, enter: .dbinfo ?DB?
Чтобы выйти из командной строки SQLite, введите: .exit
To exit the SQLite prompt, enter: .exit
Дополнительные сведения о работе с базой данных SQLite см. в документации по SQLite.For more information about working with a SQLite database, see the SQLite docs.
Для работы с базами данных SQLite в VS Code попробуйте расширение SQLite.To work with SQLite databases in VS Code, try the SQLite extension.
Установка RedisInstall Redis
Чтобы установить Redis на WSL (Ubuntu 18,04), сделайте следующее:To install Redis on WSL (Ubuntu 18.04):
- Откройте терминал WSL (например, Ubuntu 18.04).Open your WSL terminal (ie. Ubuntu 18.04).
- Обновите пакеты Ubuntu:
sudo apt update
Update your Ubuntu packages:sudo apt update
- После обновления пакетов установите Redis с помощью:
sudo apt install redis-server
Once the packages have updated, install Redis with:sudo apt install redis-server
- Подтвердите установку и получите номер версии:
redis-server --version
Confirm installation and get the version number:redis-server --version
Чтобы начать работу с сервером Redis, выполните следующие действия. sudo service redis-server start
To start running your Redis server: sudo service redis-server start
Проверьте, работает ли Redis (Redis-CLI — служебная программа командной строки для взаимодействия с Redis): redis-cli ping
это должно вернуть ответ «теннис».Check to see if redis is working (redis-cli is the command line interface utility to talk with Redis): redis-cli ping
this should return a reply of «PONG».
Чтобы прерывать работу сервера Redis, выполните следующие действия. sudo service redis-server stop
To stop running your Redis server: sudo service redis-server stop
Дополнительные сведения о работе с базой данных Redis см. в документации по Redis.For more information about working with a Redis database, see the Redis docs.
Для работы с базами данных Redis в VS Code попробуйте использовать расширение Redis.To work with Redis databases in VS Code, try the Redis extension.
См. раздел службы запуск и настройка псевдонимов профилей.See services running and set up profile aliases
Чтобы просмотреть службы, которые в настоящее время выполняются в дистрибутиве WSL, введите: service --status-all
To see the services that you currently have running on your WSL distribution, enter: service --status-all
Вводить sudo service mongodb start
или sudo service postgres start
и sudo -u postgrest psql
может быть утомительно.Typing out sudo service mongodb start
or sudo service postgres start
and sudo -u postgrest psql
can get tedious. Однако, вы можете рассмотреть возможность установки псевдонимов в файле .profile
на WSL, чтобы сделать эти команды более быстрыми в использовании и легкими в запоминании.However, you could consider setting up aliases in your .profile
file on WSL to make these commands quicker to use and easier to remember.
Настройка собственного пользовательского псевдонима или ярлыка для выполнения этих команд:To set up your own custom alias, or shortcut, for executing these commands:
Откройте терминал WSL и введите
cd ~
, чтобы убедиться, что вы находитесь в корневом каталоге.Open your WSL terminal and entercd ~
to be sure you’re in the root directory.Откройте файл
.profile
, управляющий настройками терминала, в текстовом редакторе терминала Nano:sudo nano .profile
.Open the.profile
file, which controls the settings for your terminal, with the terminal text editor, Nano:sudo nano .profile
В нижней части файла (не меняйте настройки
# set PATH
) добавьте следующее:At the bottom of the file (don’t change the# set PATH
settings), add the following:# My Aliases alias start-pg='sudo service postgresql start' alias run-pg='sudo -u postgres psql'
Это позволит вам ввести
start-pg
для запуска службы postgresql иrun-pg
— для открытия оболочки psql.This will allow you to enterstart-pg
to start running the postgresql service andrun-pg
to open the psql shell. Вы можете изменитьstart-pg
иrun-pg
на любые имена, просто следите за тем, чтобы не перезаписать команду, которую postgres уже использует!You can changestart-pg
andrun-pg
to whatever names you want, just be careful not to overwrite a command that postgres already uses!После добавления новых псевдонимов выйдите из текстового редактора Nano, используя Ctrl+X — выберите
Y
(Да) при запросе сохранения и Enter (имя файла останется.profile
).Once you’ve added your new aliases, exit the Nano text editor using Ctrl+X — selectY
(Yes) when prompted to save and Enter (leaving the file name as.profile
).Закройте и снова откройте терминал WSL, а затем попробуйте использовать свои новые команды ввода псевдонима.Close and re-open your WSL terminal, then try your new alias commands.
Дополнительные ресурсыAdditional resources
Оптимизация и настройка производительности СУБД MySQL 📚
1 ноября 2019
3 957
Время чтения ≈ 11 минут
От скорости работы баз данных (БД) зависит быстрота отклика сайта. Ведь замедленная обработка запросов влияет на PHP, следовательно — накапливается огромное количество операций, с которыми сервер может не справиться.
Управлять данным процессом позволяет использование систем управления базами данных или СУБД. Одной из самых широко применяемых СУБД является MySQL — ПО с открытым исходным кодом, созданное компанией MySQL AB (Oracle) ещё в 1995 году. Оптимизация MySQL позволяет избежать проблем с производительностью сервера и значительно ускорить интернет-ресурс.
В статье представлены варианты повышения производительности баз данных MySQL с помощью специального скрипта, а также указаны параметры настройки, на которые необходимо обратить внимание.
Зачем оптимизировать работу MySQL
- Увеличение скорости обработки и выполнения запросов. Скорость работы сайта прямо пропорционально зависит от времени обработки и выполнения SQL-запроса к базе данных, которое должно быть минимальным.
- Предотвращение перегрузки сервера. При перегрузке сервера работа web-ресурса или приложения будет нестабильной. Хостер может заблокировать ресурс, чтобы последний не нарушал работу всего сервера, на котором также работают и другие сайты.
- Уменьшение времени ожидания загрузки web-страницы. Когда идет огромное количество SQL-запросов к базе данных, происходит существенное замедление работы сайта, что недопустимо для коммерческого или представительского интернет-ресурса.
- Экономия ресурсов хостинга. Если MySQL не оптимизирована, то происходит значительный перерасход использования ресурсов сервера (процессорного времени, оперативной памяти). На этом основании хостер имеет право заблокировать работу ресурса.
- Возможность масштабировать ресурс. При расширении сайта будет невозможно обеспечить хорошее качество его работы. Например, арендатор VPS загрузил на сервер интернет-магазин, в котором 100 видов товаров. Через некоторое время бизнес расширяется и появляется возможность предложить потребителю 10000 разновидностей. После загрузки и доработки интернет-магазин начинает работать медленно, постоянно происходят ошибки при помещении товаров в корзину и т. д.
Какие ресурсы желательно оптимизировать
- Средне и высоконагруженные сайты с посещаемостью от 10 000 человек в сутки.
- Сервера разработчиков веб-пиложений и сервисов.
- Интернет-магазины с базой товаров, превышающей 100 единиц.
- Высоконагруженные прокси/VPN сервера на основе VPS.
- Системы работы с финансами и бухгалтерские приложения (продукты «1 C», ПланФакт, «Моё дело», Livesklad).
- Приложения для мониторинга сервисов компьютерных сетей и серверов (Zabbix, Prometheus, Grafana).
- Сайты с высокой посещаемостью и регистрациями, превышаемыми 100 пользователей в сутки.
- Контент-биржи (Text.ru, Advego, Copylancer).
- Видео- и фотохостинговые ресурсы (YouTube, Vimeo, Imgur).
- Рекламно-баннерные площадки (myTarget, Adfox).
- Финансово-экономические игры с возможностью вывода денег (Your Real Town, Surfer Money).
Скорость работы баз данных
Чтобы оптимизация СУБД MySQL дала результат, нужно начать с анализа работы баз данных. Настройки сервиса содержатся в файле /etc/my.cnf.
С помощью настроек можно проверить, какие запросы выполняются медленно и что можно ускорить. Для этого в раздел [mysqld] добавляется следующий запрос:
log-slow-queries=/var/log/mariadb/slow_queries.log long_query_time=5
Информация указана в строчках:
log-slow-queries=/var/log/mariadb//slow_queries.log long_query_time=2
Во второй обозначено минимальное время внесения запроса в лог — 2 секунды.
Чтобы увидеть актуальные данные, сервер перезапускается. Сведения находятся в логе:
# systemctl restart mariadb # tail -f /var/log/mariadb/slow-queries.log
В полученном списке будут представлены все запросы, время выполнения которых превышает указанный показатель. К примеру, больше 10 секунд может выполняться запрос:
SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes'
Если при его выполнении в MySQL операция происходит более 3 секунд, запрос может считаться медленным.
Сайт будет работать корректно при условии, что таких запросов немного. Но если у него постоянная нагрузка, количество необработанных запросов будет постепенно расти. Пропорционально им скорость ответа возрастет до нескольких минут.
Решить эту проблему может оптимизация таблиц или кода. В последнем случае из него убираются все сложные запросы. Это длительный процесс, описать который в рамках одной статьи крайне затруднительно. Поэтому здесь мы подробно рассмотрим именно первый вариант.
Первоначальная настройка
У MySQL достаточно сложная конфигурация, но оптимизация запросов не требует делать все вручную. Для устранения проблем со скоростью выполнения существует специальный скрипт — MySQLTuner. Он анализирует работу базы данных и выводит рекомендации, какие параметры с какими значениями требуется изменить.
Чтобы скрипт работал и показывал текущие проблемы, необходимо загрузить три файла через wget:
# wget http://mysqltuner.pl/ -O mysqltuner.pl # wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/basic_passwords.txt -O basic_passwords.txt # wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/vulnerabilities.csv -O vulnerabilities.csv
Первый файл — это скрипт написан на Perl. Два остальных — сведения о простых паролях и уязвимостях, которые позволяют найти проблемы с безопасностью.
Далее необходимо провести тест базы данных. Оптимизация производительности будет основана на выявленных проблемах. Тест запускается скриптом # perl ./mysqltuner.pl. Он выдает полную статистику работы базы. Все проблемные места обозначаются красным восклицательным знаком [!].
Следует помнить, что параметры изменяются согласно рекомендациям, которые выдает утилита. Нельзя бездумно копировать параметры из статьи и применять их к собственной базе данных. В ином случаем можно столкнуться с рядом практических проблем. Например, недостаточным размером буфера движка таблиц (InnoDB buffer pool).
Дополнительная настройка производительности
Чтобы оптимизация базы данных MySQL дала результат, понадобится следовать рекомендациям, представленным в сообщениях утилиты.
Рабочие параметры
Параметры, указанные в MySQL по умолчанию, рассчитаны на очень маленькие базы данных. Это значит, что они не предусматривают высокую нагрузку, что в том числе касается и самой техники.
Для MariaDB
Для настройки производительности вручную необходимо выполнить изменения указанных ниже параметров в файле конфигурации наиболее популярной версии MySQL MariaDB — /etc/mysql/conf.d/app.cnf.
- tmp_table_size — максимальная величина ОЗУ (оперативной памяти), выделяемая для хранения временных таблиц. Последние создаются при формировании SQL-запросов, которые осуществляют выбор данных из таблицы для дальнейших операций над ними. Значение необходимо выбирать экспериментальным путем, руководствуясь соотношением tmp_table_size = объем_ОЗУ * 0,75 (tmp_table_size = 64 М).
- max_heap_table_size — максимальный размер таблицы, которая хранится в ОЗУ. Рекомендуемое значение параметра max_heap_table_size должно быть равным величине tmp_table_size.
- query_cache_size — объем ОЗУ, выделяемого под кеш SQL-запросы. Его рекомендуется отключить для проектов с большим количеством записей, т. е. query_cache_size=0.
- query_cache_type —параметр, активирующий или деактивирующий службу управления кешем в MySQL. Его рекомендуется отключить, установив query_cache_type в 0, т. е. query_cache_type = 0.
- join_buffer_size — значение количества объема ОЗУ, которое выделяется для объединения таблиц баз данных. Рекомендуемое значение 8М.
- sort_buffer_size — объем ОЗУ, выделяемый для выполнения операций сортировки данных. Рекомендуется установить значение, равное 10М.
- max_connections — опция, определяющее максимальное число соединений с БД, приобретает значение, когда возникает сообщение об ошибке «Too many connections». Повышать это значение следует постепенно, вплоть до исчезновения ошибки.
Для InnoDB
Дополнительной оптимизации MySQL способствует настройка параметров наиболее популярной подсистемы MySQL для работы с таблицами InnoDB.
- innodb_buffer_pool_size — если используются только таблицы InnoDB, необходимо установить максимально возможное значение с учетом технических характеристик системы. Оно должно быть 70-80% от доступной оперативной памяти. Например, при ОЗУ в 32 Гб: innodb_buffer_pool_size = 24G.
- innodb_log_file_size — чем выше показатель, тем быстрее работают записи, то есть большее их количество помещается в файл лога. Поскольку файла всегда два, параметр задает значение только для одного. Например, innodb_log_file_size = 512M в сумме даст 1 G.
- innodb_log_buffer_size — определяет размер буфера транзакций и изменяется только в том случае, если используются большие поля (TEXT, BLOB). 1М по умолчанию хватает в большинстве случаев.
- innodb_flush_log_at_trx_commit — повышает пропускную способность записи данных в базу. Решает, сбрасывает ли MySQL каждую операцию в файл лога. В большинстве случаев подойдет вариант innodb_flush_log_at_trx_commit = 2. Следует учитывать два типа значения, где 1 — сохранность данных играет первую роль, 2 — небольшая потеря данных не критична благодаря дублированию.
Объединение таблиц
Часто проблема при работе с объемными базами данных возникает при выборке — попытке объединения (JOIN) столбцов из разных таблиц.
Чтобы ускорить JOIN больших таблиц MySQL, необходимо убедиться в том, что все столбцы проиндексированы. Скорость операции будет выше, если объединяются столбцы одного типа. При JOIN типов DECIMAL и INT, сервер не сможет использовать как минимум один индекс.
После завершения оптимизации тестирование проводится с помощью клиента MySQL:
# mysql > USE база_данных; > SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes'
Первая операция может занять много времени, но последующие проверки происходят почти мгновенно. При оптимизации необходимо учитывать все советы утилиты.
Типы объединений
MySQL позволяет выполнять 3 типа объединений записей в двух таблицах (table_A и table_B):
- внутреннее;
- левостороннее внешнее;
- правостороннее внешнее.
Пример № 1 — внутреннее
При внутреннем объединении двух таблиц происходит выборка общих записей. Для этой цели используется ключевое слово INNER.
Чтобы выполнить SQL-запрос, нужно запустить терминал, а затем активировать консоль MySQL командой:
sudo mysql -u имя_пользователя -p
Далее необходимо ввести пароль и SQL-запрос: SELECT * FROM tableA INNER JOIN tableB ON tableA.name = tableB.name, где «name» — имя поля для таблицы А.
Пример № 2 — левостороннее
Суть объединения заключается в миграции данных из таблицы «table_B», которых нет в таблице «table_A», в последнюю. Используется комбинация зарезервированных слов LEFT-OUTER.
SQL-запрос будет иметь такой вид: SELECT * FROM tableA LEFT OUTER JOIN tableB ON tableA.name = tableB.name. Если в «tableA» больше полей, чем в «tableB», то в первую запишутся значения NULL.
Пример № 3 — правостороннее
Главной является таблица «tableB». Для объединения необходимо применить ключевые слова RIGHT-OUTER.
В консоли СУБД нужно набрать SQL-запрос: SELECT * FROM tableB RIGHT OUTER JOIN tableA ON tableA.name = tableB.name. Недостающие поля заполняются константой NULL.
Заключение
Грамотная настройка и оптимизация MySQL позволяет достичь оптимально высоких показателей работы сервера и приложений, развернутых на его основе. Этому процессу способствует запуск скриптов, которые могут быстро обнаружить проблемы, влияющие на производительность базы данных.
Автоматическую оптимизацию с помощью скрипта следует обязательно дополнять настройкой производительности в ручном режиме с помощью регулировки основных параметров СУБД. Для повышения эффективности MySQL не менее важна оптимизация работы с выборкой из нескольких объединенных таблиц.
Нужен производительный хостинг для высоконагруженных проектов на MySQL? Выбирайте VPS от Eternalhost — сервер на быстрых SDD, гарантированные ресурсы, запуск за 5 минут.
Оцените материал:
[Всего голосов: 3 Средний: 4/5]Как подключиться к базе данных с помощью MySQL Workbench
Подключиться к базе данных с помощью MySQL Workbench на вашей общей, VPS или выделенной учетной записи хостинга. MySQL Workbench — это бесплатный инструмент, который можно использовать для подключения к базам данных сервера со своего персонального компьютера. MySQL Workbench можно бесплатно загрузить по следующей ссылке:
https://dev.mysql.com/downloads/workbench/
Вы захотите использовать Windows (x86, 32-бит), Установщик MSI , если у вас Windows.В этом руководстве мы устанавливаем файл mysql-workbench-gpl-5.2.47-win32.msi .
После того, как вы загрузили MySQL Workbench , вы можете установить его на свой компьютер. После установки программы выполните следующие действия, чтобы настроить удаленное соединение.
Добавьте IP-адрес к вашему удаленному MySQL
Для того, чтобы вы могли подключаться к своим базам данных удаленно, вам необходимо добавить IP-адрес вашего локального компьютера в Remote MySQL в cPanel.Вы можете получить свой IP-адрес, перейдя по следующей ссылке:
Какой у меня IP-адрес?
Шаги по удаленному подключению к базе данных
- Откройте MySQL Workbench .
- Щелкните New Connection в нижнем левом углу MySQL Workbench.
- В поле « Set up a New Connection Dialogue » введите свои учетные данные для подключения к базе данных. Учетные данные будут иметь следующий вид:
Имя соединения: Вы можете назвать это как хотите.
Метод подключения: Стандартный (TCP / IP).
Имя хоста: Вы можете использовать свой домен в качестве IP-адреса cPanel.
Порт: 3306
Имя пользователя: Ваше имя пользователя cPanel или пользователя, которого вы создали для базы данных.
Пароль: Пароль cPanel или пароль для созданного пользователя базы данных.
Схема по умолчанию: Это поле можно оставить пустым.Щелкните Test Connection .
- Введите свой пароль и установите флажок « Сохранить пароль в хранилище ».Щелкните Ok .
- MySQL Workbench должен сказать « Параметры подключения правильные ». Щелкните Ok .
- Щелкните Ok еще раз, чтобы принять настройки подключения.
- Теперь в разделе «Разработка SQL» вы увидите свое соединение, указанное в поле «Открыть соединение для запуска запроса». Щелкните свою недавно созданную учетную запись.
Теперь вы увидите список баз данных в области слева.
Доступ к базам данных MySQL с вашего портативного компьютера или рабочей станции
В этом примечании содержится информация о доступе к MySQL с вашего портативного компьютера или рабочей станции.
с
приложение MySQL Workbench
.
Для получения информации о сервере базы данных MySQL в школе и о вашем MySQL схему учетной записи и базы данных, см.
MySQL в школе компьютерных наук и информатики.
Приложения для доступа к MySQL
К MySQL можно получить доступ из приложений и программ на платформах Linux, Windows и Mac OS X. Эта заметка
описывает доступ к MySQL
с
приложение MySQL Workbench
.
Получение программного обеспечения MySQL
MySQL — это система управления базами данных с открытым исходным кодом, которая бесплатно доступна для разные вычислительные платформы.mysql ‘ перечисляет все пакеты, чьи имена начинаются с «mysql» на основе RPM Системы Linux.
Загрузите и установите MySQL Workbench
с MySQL.com или из вашего репозитория как
подходящее.
Инструментальные средства MySQL
MySQL Workbench — это инструмент моделирования, позволяющий проектировать и создавать базы данных MySQL графически. Он также может использоваться как интерфейс для выполнения SQL-запросов.
MySQL Workbench можно запустить из установленного исполняемого файла или пункт меню или ярлык на рабочем столе в зависимости от вашей платформы.
Использование MySQL Workbench
При запуске MySQL Workbench начальное окно разделен на три панели.
- Левая верхняя панель предназначена для подключений к базам данных,
- нижняя левая панель предназначена для моделей данных,
- , правая панель — это список ярлыков для функций и информации MySQL.
Вверху также есть строка меню.
Для начала нам нужно настроить новое подключение в базу данных, которую мы хотим использовать.
На панели подключений нажмите ⊕
после Соединения с MySQL
.
В окне настройки введите имя, которое вы хотите дать
соединение, например, используйте свое имя пользователя и имя сервера,
или описание вроде Моя база данных
.
В поле Hostname
введите имя сервера csmysql.cs.cf.ac.uk
.
Выберите Standard TCP / IP
в качестве метода подключения
.
Введите свое имя пользователя MySQL в поле Username
и имя вашей базы данных в поле Schema
.
Если вы нажмете Store in Keychain
,
вам будет предложено ввести пароль. Otheriwse MySQL Workbench
будет запрашивать его при подключении.
Щелкните OK
и значок для нового
соединение появится в рабочей области.
Чтобы открыть соединение, дважды щелкните значок.
После получения пароля редактор SQL
откроется в новой вкладке и подключится к серверу.
Пример здесь показывает подключение к образец базы данных MySQL.
Вы не можете войти в образец базы данных из-за пределов университетской сети. Если вы хотите попробовать эти таблицы, вы должны создать их в своей собственной базе данных.csmysql позволяет вам войти в свою базу данных извне.
На левой панели показана схема базы данных , включая таблицы
которые были созданы ранее.
Справа находится панель запросов SQL, где вы можете вводить команды SQL. Результаты выполнения команд отображаются ниже на панели результатов.
Чтобы запускать команды на панели запросов SQL, нажмите кнопку «Выполнить». значок .
Установка сервера базы данных MySQL в Windows 7
С января 2020 года Microsoft больше не поддерживает Windows 7.Мы рекомендуем выполнить обновление до Windows 10, чтобы продолжать получать обновления безопасности и техническую поддержку.
Сервер базы данных MySQL - одна из самых популярных баз данных с открытым исходным кодом в мире. Хотя администраторы обычно устанавливают MySQL в серверной операционной системе, его, безусловно, можно установить в настольной операционной системе, такой как Windows 7. Как только вы это сделаете, вы получите огромную мощь гибкой реляционной базы данных MySQL, доступной вам бесплатно. .
MySQL - полезная база данных как для разработчиков, так и для системных администраторов.Установка MySQL в Windows 7 - особенно ценный инструмент для тех, кто хочет научиться администрированию баз данных, но не имеет доступа к собственному серверу. Вот пошаговое руководство по процессу.
Загрузка MySQL в Windows 7
Энис Аксой / Getty ImagesВо-первых, вам нужно будет загрузить соответствующий установщик MySQL для вашей операционной системы. Если вы используете 32-разрядную версию Windows, вы захотите использовать 32-разрядный установочный файл Windows MSI. Пользователи 64-битных версий Windows захотят использовать 64-битный установочный файл Windows MSI.
Независимо от того, используете ли вы 32-разрядный или 64-разрядный установщик Windows, сохраните файл на рабочем столе или в другом месте, где вы сможете легко найти его снова.
Вход в систему с учетной записью администратора
Войдите в Windows, используя учетную запись с правами локального администратора. Если у вас нет этих прав, программа установки не будет работать должным образом. В дальнейшем они вам не понадобятся для доступа к базам данных на сервере MySQL, но файл установщика вносит некоторые изменения в параметры конфигурации системы, требующие повышенных прав.
Запустите установочный файл
Дважды щелкните файл установщика, чтобы запустить его. Вы можете увидеть сообщение с заголовком «Подготовка к открытию…» в течение короткого периода времени, пока Windows готовит установщик. По завершении вы увидите мастер установки MySQL.
Принять лицензионное соглашение
Нажмите кнопку Next , чтобы пройти мимо экрана приветствия. Установите флажок, подтверждающий, что вы принимаете условия лицензионного соглашения, а затем щелкните Next , чтобы перейти к экрану EULA.
Выберите тип установки
Мастер установки MySQL запросит тип установки. Большинство пользователей могут просто нажать кнопку Typical , которая устанавливает наиболее распространенные функции базы данных MySQL. Если вам нужно настроить либо компоненты, которые будут установлены, либо место, в которое программа установки поместит файлы, нажмите кнопку Custom . Или выполните полную установку всех функций MySQL, нажав кнопку Full .
Начать установку
Нажмите кнопку Install , чтобы начать процесс установки.
Завершите установку
Программа установки отображает рекламу MySQL Enterprise Edition и предлагает вам просмотреть несколько рекламных экранов. Для использования MySQL вам не нужна коммерческая (платная) подписка на корпоративный выпуск, поэтому просматривайте эти экраны, пока не увидите сообщение выше, указывающее, что установка завершена.Оставьте флажок по умолчанию, отмеченный для «Запустить мастер настройки экземпляра MySQL», и нажмите кнопку Finish .
Запустить мастер настройки экземпляра
После короткой паузы запускается мастер настройки экземпляра MySQL. Этот мастер проведет вас через процесс настройки вашего нового экземпляра сервера базы данных MySQL. Нажмите кнопку Next , чтобы начать процесс.
Выберите тип конфигурации
Мастер предложит вам выбрать либо процесс подробной конфигурации, либо стандартную конфигурацию.Если вы не планируете запускать несколько экземпляров MySQL на одном компьютере или у вас нет особых причин для этого, выберите стандартную конфигурацию и нажмите кнопку Далее .
Установить параметры Windows
Выберите два разных варианта. Во-первых, вы можете настроить MySQL для работы в качестве службы Windows. Это хорошая идея, поскольку она запускает программу в фоновом режиме. Вы также можете выбрать автоматический запуск службы при загрузке операционной системы.Во-вторых, включите каталог двоичных файлов в путь Windows. После того, как вы сделали свой выбор, нажмите кнопку Next , чтобы продолжить.
Выберите пароль для root
На экране безопасности вам будет предложено ввести пароль root для вашего сервера базы данных. Выберите надежный пароль, состоящий из буквенно-цифровых символов и символов. Если у вас нет особой причины не делать этого, вы также должны оставить опции, разрешающие удаленный root-доступ и создать анонимную учетную запись, снятыми.Любой из этих вариантов может создать уязвимости безопасности на вашем сервере базы данных. Нажмите кнопку Next , чтобы продолжить.
Завершите настройку экземпляра
Последний экран мастера представляет собой сводку действий, которые будут выполнены. После просмотра этих действий нажмите кнопку Execute , чтобы настроить экземпляр MySQL. Как только действия будут завершены, вы закончите.
Спасибо, что сообщили нам!
Расскажите, почему!
Другой Недостаточно деталей Сложно понятьКак использовать клиентские приложения MySQL
В этой статье описывается, как использовать клиентские приложения MySQL для доступа к базам данных MySQL и управления ими.
Клиентские приложения MySQL
MySQL предоставляет клиентское приложение с графическим интерфейсом пользователя (GUI), которое можно использовать для управления базой данных. MySQL Workbench - это интегрированная инструментальная среда, которая позволяет управлять базами данных, выполнять запросы и многое другое. Он заменяет старый пакет приложений MySQL GUI Tools, который больше не разрабатывается активно.
MySQL Workbench можно загрузить и использовать бесплатно. Есть версии для Microsoft Windows, Mac OS X, Linux и других операционных систем.
Подключение к базам данных с помощью MySQL Workbench
MySQL Workbench позволяет быстро подключаться к базам данных MySQL. В этой статье рассматриваются два метода:
- Прямое соединение: Этот метод устанавливает прямое соединение вашего компьютера с сервером MySQL. Прежде чем вы сможете установить этот тип соединения, вы должны включить удаленный доступ к MySQL для вашего IP-адреса. Информацию о том, как это сделать, см. В этой статье.
- SSH-соединение: Этот метод использует SSH для установления безопасного соединения вашего компьютера с сервером MySQL.
Метод № 1: Прямое подключение
Чтобы настроить прямое подключение к MySQL, выполните следующие действия:
- Запустите MySQL Workbench.
- На странице рабочей области щелкните значок + рядом с MySQL Connections. Откроется диалоговое окно «Настройка нового подключения».
- В текстовом поле «Имя подключения» введите имя подключения.
- В списке «Метод подключения» выберите «Стандартный (TCP / IP)».
- На вкладке Параметры в текстовом поле Имя хоста введите example.com , где example.com представляет ваше доменное имя.
- Убедитесь, что в текстовом поле Порт установлено значение 3306 .
- В текстовом поле Имя пользователя введите одно из следующих имен пользователей:
- Имя пользователя вашей учетной записи хостинга A2 (cPanel): С этим именем пользователя вы можете получить доступ ко всем базам данных MySQL в своей учетной записи хостинга.
- Имя пользователя базы данных MySQL, созданное вами в cPanel: С этим именем пользователя вы можете получить доступ ко всем базам данных MySQL, для которых указанному пользователю предоставлены права.
- В текстовом поле «Схема по умолчанию» введите имя базы данных MySQL, к которой вы хотите получить доступ. Кроме того, вы можете оставить это текстовое поле пустым, чтобы выбрать базу данных позже.
Нажмите «Проверить соединение», а затем в текстовом поле «Пароль» введите пароль для имени пользователя, указанного на шаге 7.
Чтобы MySQL Workbench запомнил ваш пароль, установите флажок «Сохранить пароль в связке ключей».
Нажмите ОК.
Если вы получаете предупреждение о подключении к несовместимым или нестандартным версиям сервера, нажмите «Все равно продолжить».
- Если соединение установлено успешно, вы получите сообщение об успешном соединении с MySQL. Если вы не получили это сообщение, проверьте значения, указанные в шагах с 4 по 9, а затем повторите попытку.
- Нажмите ОК. MySQL Workbench сохраняет новое соединение на странице рабочей области.
- Чтобы открыть соединение, щелкните его на странице рабочей области. Теперь вы можете запускать запросы, создавать таблицы и многое другое.
Метод № 2: соединение SSH
MySQL Workbench позволяет безопасно подключаться к базам данных MySQL с помощью туннеля SSH.Для этого выполните следующие действия:
- Запустите MySQL Workbench.
- На странице рабочей области щелкните значок + рядом с MySQL Connections. Откроется диалоговое окно «Настройка нового подключения».
- В текстовом поле «Имя подключения» введите имя подключения.
- В списке "Метод подключения" выберите "Стандартный (TCP / IP) через SSH".
- В текстовом поле SSH Hostname введите example.com : 7822, где example.com - это ваше доменное имя.
- В текстовом поле «Имя пользователя SSH» введите имя пользователя учетной записи хостинга A2 (cPanel).
- В текстовом поле MySQL Hostname введите localhost.
- Подтвердите, что текстовое поле MySQL Server Port установлено на 3306 .
- В текстовом поле Имя пользователя введите одно из следующих имен пользователей:
- Имя пользователя вашей учетной записи хостинга A2 (cPanel): С этим именем пользователя вы можете получить доступ ко всем базам данных MySQL в своей учетной записи хостинга.
- Имя пользователя базы данных MySQL, созданное вами в cPanel: С этим именем пользователя вы можете получить доступ ко всем базам данных MySQL, для которых указанному пользователю предоставлены права.
- Щелкните Проверить соединение. Появится диалоговое окно Open SSH Tunnel.
В текстовом поле Пароль введите пароль учетной записи хостинга A2 (cPanel).
Чтобы MySQL Workbench запомнил ваш пароль, установите флажок Сохранить пароль в связке ключей.
- Нажмите ОК. Откроется диалоговое окно «Подключиться к серверу MySQL».
В текстовом поле «Пароль» введите пароль для имени пользователя, указанного на шаге 9.
Чтобы MySQL Workbench запомнил ваш пароль, установите флажок «Сохранить пароль в связке ключей».
- Нажмите ОК. В случае успешного подключения вы получите сообщение «Параметры подключения верны». Если вы не получили это сообщение, проверьте значения, указанные в шагах с 3 по 9, а затем повторите попытку.
- В диалоговом окне «Настройка нового подключения» нажмите кнопку «ОК».
- Теперь вы можете запускать запросы, создавать таблицы и многое другое. Например, на странице рабочей области в разделе «Открыть подключение для запуска запроса» дважды щелкните имя подключения, указанное на шаге 3. MySQL Workbench подключается к вашей учетной записи и отображает ваши базы данных.
Дополнительная информация
Чтобы загрузить MySQL Workbench и просмотреть интерактивную документацию, посетите http://dev.mysql.com/downloads/tools/workbench.
Установка подключения к удаленной базе данных| Поддержка Bluehost
Примечание: При подключении с домашнего компьютера вам понадобится клиент MySQL, например Navicat, phpMyAdmin, Workbench или Dreamweaver.
Параметры конфигурации:
Используйте следующие параметры конфигурации для подключения к базе данных
Имя хоста = (использовать IP-адрес сервера)
Имя базы данных = (cpanelUsername_databaseName)
Имя пользователя базы данных = (cpanelUsername_databaseUsername)
Пароль базы данных = (пароль, который вы ввели для этого пользователя базы данных)
MySQL Connection Port = 3306
TCP или UDP, либо в порядке.
Разрешение удаленному серверу доступа к вашей базе данных
Перед подключением к MySQL с другого компьютера, подключенный компьютер должен быть активирован как Access Host .
- Войдите в cPanel и щелкните значок Remote MySQL в разделе «Базы данных».
- Введите IP-адрес подключения и нажмите кнопку Добавить хост .
- Примечание: Вы можете найти и добавить свой IP-адрес прямо из этого инструмента.Найдите Ваш IP: 123.123.12.123 [Добавить] . Щелкнув ссылку [Добавить] , вы введете ваш IP-адрес в поле ниже.
- Щелкните Добавить , и теперь вы сможете удаленно подключиться к своей базе данных.
Удаление доступа удаленного сервера к вашей базе данных
Чтобы удалить хост из доступа к базам данных на вашем сервере:
- Щелкните значок X рядом с IP-адресом.
- Если вы уверены, что хотите запретить серверу доступ к вашим базам данных, щелкните Да.
Динамические IP-адреса
Наличие динамического IP-адреса означает, что подключаемый IP-адрес может периодически меняться в зависимости от интернет-провайдера (ISP). Вы должны обновлять подключаемый IP-адрес в Remote MySQL каждый раз, когда он изменяется.
Управление базами данных
После внесения IP-адреса в белый список, разрешающего удаленное соединение, вы должны иметь возможность установить правильное удаленное соединение MySQL с именем базы данных и пользователем, найденными на странице баз данных MySQL cPanel.Наиболее частая проблема при подключении связана с неправильным именем пользователя и / или паролем. Убедитесь, что имя пользователя, которое вы используете, совпадает с именем пользователя, созданным в разделе «База данных MySQL» вашей cPanel. Примеры ошибок MySQL см. В соответствующей статье: MySql Errors
Для удаленного доступа к MySQL вам потребуется стороннее приложение. Некоторые из них бесплатны, а некоторые стоят денег.
Учебное пособие по MySQL Workbench
В этом руководстве рассматриваются следующие темы:
Программное обеспечение MySQL Workbench - это программа, разработанная Oracle, которая позволяет удаленно управлять базами данных с вашего компьютера.
Вы можете загрузить программу MySQL Workbench с официального сайта MySQL. После загрузки программы следуйте инструкциям по установке, чтобы успешно установить программное обеспечение на свой компьютер.
Прежде чем вы сможете подключиться к своей базе данных MySQL, вы должны разрешить свой IP-доступ к серверу. Вы можете найти больше информации о том, как это сделать, в нашем руководстве.
Настроить подключение к своему аккаунту
Когда вы будете готовы к установке программного обеспечения и разрешите доступ к своей учетной записи со своего IP-адреса, откройте программу MySQL Workbench .Вы увидите приветственную страницу с общей информацией о программном обеспечении и ссылками на различные ресурсы.
Вам нужно будет добавить новое соединение, что можно сделать, нажав кнопку + рядом со строкой MySQL Connections .
Откроется новое окно с именем Setup New Connection , в котором вам необходимо ввести соответствующую информацию о подключении для вашей учетной записи:
- Имя подключения - укажите желаемое имя для подключения;
- Connection Method - оставьте значение по умолчанию - Standard (TCP / IP) ;
- Hostname - здесь разместите IP вашей учетной записи.Если вы пользуетесь тарифным планом хостинга GoGeek, вам следует использовать IP-адрес ns2.servername.com , где servername.com - это имя хоста сервера вашей учетной записи;
- Порт - оставьте значение по умолчанию - 3306;
- Username - ваше имя пользователя;
- Схема по умолчанию - оставьте поле пустым.
Вы можете использовать кнопку Test Connection , чтобы проверить правильность установленных вами настроек.
После проверки соединения вам будет предложено ввести пароль.Введите свой пароль и нажмите OK для подтверждения.
Если соединение было установлено правильно, вы увидите уведомление об успешном завершении.
Сохраните соединение, нажав ОК . Затем в главном окне программного обеспечения MySQL Workbench вы увидите новое соединение, показанное под строкой MySQL Connections . Дважды щелкните по нему, чтобы установить соединение с учетной записью хостинга и начать управлять своими базами данных.
Как сделать резервную копию и восстановить базу данных
Когда вы откроете соединение с вашей учетной записью, вы увидите новое окно, в котором есть несколько инструментов, которые вы можете использовать.Вы можете использовать эти инструменты для резервного копирования и восстановления базы данных.
Для резервного копирования базы данных из вашей учетной записи на локальный компьютер вы можете использовать инструмент Data Export из левого столбца.
При доступе к инструменту вам будет представлен список всех баз данных, связанных с вашей учетной записью. Установите флажок рядом с каждой базой данных, чтобы выбрать те, для которых нужно создать резервную копию. Затем установите путь, по которому должны быть экспортированы базы данных, в поле Export to Dump Project Folder , которое экспортирует каждую таблицу отдельно в отдельный файл, или выберите опцию Export to Self-Conolated File для резервного копирования всей базы данных. в одном файле.Когда все будет готово, щелкните Start Export , чтобы начать процесс экспорта.
Начнется процесс экспорта, и вы сможете следить за его выполнением в открывшемся окне.
Восстановление базы данных - это аналогичный процесс, и вы можете выполнить его с помощью инструмента Data Import . Выберите путь, из которого должны быть импортированы таблицы, в поле Import from Dump Project Folder или используйте опцию Import From Self-Conolated File , если у вас есть файл.sql копию базы данных.
Как запросить базу данных
Программное обеспечение MySQL Workbench также можно использовать для выполнения запросов MySQL к базам данных в вашей учетной записи. Для этого сначала выберите нужную базу данных в меню левого столбца, дважды щелкнув по ней.
Затем введите запрос MySQL, который вы хотите выполнить, в текстовое поле в середине окна программы и используйте желтую кнопку с молнией над этим текстовым полем для выполнения запроса.
Программа выполнит запрос, и вы увидите результаты в нижней части окна.
Как устранить проблемы с подключением к базе данных MySQL :: Документация по продукту DigitalOcean
Подтверждено 30 августа 2019 г. & bullet; Опубликовано 20 августа 2019 г.
MySQL - это объектно-реляционная база данных с открытым исходным кодом, созданная с учетом требований скорости и надежности.Его большое и активное сообщество разработчиков создало множество сторонних приложений, инструментов и библиотек, расширяющих функциональность MySQL.
Предварительные требования
Для подключения к MySQL в управляемых базах данных DigitalOcean вам понадобятся две вещи:
Клиент MySQL , установленный на вашем локальном компьютере. Вы можете установить MySQL версии 8 или выше, что позволяет использовать команду
mysql
в терминале, или MySQL Secure Shell, которая позволяет использовать командуmysqlsh
в терминале.Параметры подключения к базе данных . Для обоих вышеупомянутых инструментов вы будете использовать формат Flags , который предоставляет переменные как отдельные флаги, которые легче читать и настраивать.
Чтобы получить параметры подключения к базе данных с панели управления, перейдите на страницу «Базы данных», откройте меню базы данных Дополнительно , затем выберите «Сведения о подключении» и нажмите Флаги .
Перед устранением проблем с подключением проверьте страницу статуса DigitalOcean на предмет текущих проблем в регионе вашей базы данных.
Анатомия соединительной нити
Строка подключения передает различные параметры в MySQL через Флаги . Вот общая информация о том, какой информации соответствуют эти флаги:
Имя хоста и порт : Имя хоста указывается с флагом
-h
и сообщает вашему клиентскому компьютеру, как подключиться к кластеру. Порт указывается с помощью флага-P
(обратите внимание, что это верхний регистр). Если вы не укажете порт, клиент попытается использовать порт MySQL по умолчанию,3306
.Имя пользователя и пароль : Имя пользователя и пароль указываются с помощью флага
-u
для пользователя и флага-p
для пароля. По умолчанию ваша база данных имеет только одного доступного пользователя,doadmin
. Если вы оставите флаг-p
пустым, вам будет предложено ввести пароль пользователя.База данных : База данных указывается с помощью флага
-D
(обратите внимание, что это верхний регистр), это сообщает клиенту MySQL, к какой базе данных вы хотите получить доступ.Другие флаги : Вы можете найти более полный список флагов, которые вы можете передать команде MySQL, в официальной документации по MySQL по адресу
mysql
Client Options.
Ошибки
Ниже приведены некоторые распространенные ошибки подключения к базе данных MySQL и коды ошибок, а также возможные причины и решения. Дополнительные сведения о конкретных кодах ошибок см. В Справочнике по сообщениям об ошибках сервера.
Доступ запрещен
Ошибки отказа в доступе могут выглядеть по-разному в зависимости от основной причины.
Например, эта ошибка означает, что вы используете неправильный пароль:
ОШИБКА 1045 (28000): доступ запрещен для пользователя 'sammy'@'203.0.113.0' (с использованием пароля: ДА)
Эта ошибка отказа в доступе означает, что строка подключения не содержит флаг -p
, но требуется пароль:
ОШИБКА 1045 (28000): доступ запрещен для пользователя 'sammy'@'203.0.113.0' '(с использованием пароля: НЕТ)
Эта ошибка отказа в доступе означает, что у пользователя нет привилегий в базе данных, указанной в строке подключения:
ОШИБКА 1044 (42000): для пользователя «sammy» @ «%» отказано в доступе к базе данных «defaultdb»
Чтобы устранить проблему, убедитесь, что в строке подключения указаны правильное имя пользователя, пароль и имя базы данных.Вы также должны убедиться, что у пользователя есть привилегии в базе данных, к которой вы хотите подключиться. Узнайте больше о привилегиях в Privileges Provided by MySQL.
Аутентификация
Следующие сообщения об ошибках означают, что вы пытаетесь подключиться к MySQL с помощью приложения, такого как MySQL Workbench, или клиента версии 5.x, не поддерживающего caching_sha2_password
.
ER_NOT_SUPPORTED_AUTH_MODE: клиент не поддерживает протокол аутентификации, запрошенный сервером; рассмотреть возможность обновления клиента MySQL
Не удается загрузить плагин аутентификации 'caching_sha2_password': / usr / lib64 / mysql / plugin / caching_sha2_password.итак: невозможно открыть файл общих объектов: нет такого файла или каталога
Если вы получаете эту ошибку, используя приложение на основе PHP для подключения к базе данных, это решение работает только для приложений, использующих PHP 7.2 или выше. Управляемые базы данных DigitalOcean, использующие MySQL 8+, по умолчанию автоматически настраиваются для использования аутентификации caching_sha2_password.
caching_sha2_password
использует более надежное шифрование паролей, чем предыдущие версии приложений на основе MySQL и PHP, использующих PHP 7.1 или более ранняя версия не поддерживает шифрование паролей MySQL 8+. Если в ваших приложениях возникают проблемы с аутентификацией, вы можете использовать опцию Password Encryption на панели управления, чтобы установить настройки шифрования пароля пользователя на настройки шифрования MySQL 5.x.
В качестве альтернативы вы можете подключиться с помощью MySQL 8.x и выполнить следующую инструкцию, которая изменит тип пароля, который сервер примет для текущего пользователя. Замените use_your_user
своим именем пользователя MySQL и замените use_your_password
текущим паролем пользователя.После успешного выполнения инструкции вы сможете подключиться к MySQL с клиентом 5.x или приложением, которое не поддерживает caching_sha2_password
:
ALTER USER use_your_user IDENTIFIED С mysql_native_password ПО 'your_password';
Превышено время ожидания соединения
ОШИБКА 2003 (HY000): не удается подключиться к серверу MySQL на «example-database-mysql-do-user-6607903-0.a.db.ondigitalocean.com» (60)
Эта ошибка возникает, когда брандмауэр базы данных не позволяет вам подключиться к базе данных с вашего текущего компьютера или ресурса.Если вы получаете эту ошибку, убедитесь, что вы добавили компьютер или ресурс, с которого вы подключаетесь, в список надежных источников базы данных.
SSL
Эта ошибка означает, что клиент, который вы используете для подключения, не поддерживает TLS / SSL:
ОШИБКА 2026 (HY000): ошибка подключения SSL: неизвестный номер ошибки
Наиболее часто встречается в MySQl / MariaDB версии 5.7.x, которая является версией по умолчанию в репозитории Ubuntu. Чтобы устранить эту проблему, убедитесь, что вы используете правильную версию клиента (8.x) для подключения к узлу MySQL. См. Как установить последнюю версию MySQL в Ubuntu 18.04 для получения дополнительной информации.
Неизвестный хост
ОШИБКА 2005 (HY000): Неизвестный хост сервера MySQL 'myqsl--do-user-example-0.db.ondigitalocean.com' (0)
Эта ошибка означает, что вы используете неправильное имя хоста или ваш локальный компьютер не может разрешить имя хоста. Чтобы устранить эту ошибку, убедитесь, что у вас есть правильное имя хоста для сервера базы данных и что ваш локальный компьютер подключен к Интернету.Вам также может потребоваться изучить локальную конфигурацию DNS.
Потеряна связь
ОШИБКА 2013 (HY000) в строке xx: потеряно соединение с сервером MySQL во время запроса
Эта ошибка означает, что либо проблемы с подключением к сети, либо отправленный запрос занимает слишком много времени для выполнения. Если вы часто получаете это сообщение об ошибке, проверьте сетевое соединение, чтобы убедиться в его стабильности. Если на выполнение запроса уходит больше 30 секунд (значение по умолчанию для переменной net_read_timeout
), подумайте о том, чтобы изменить запрос, чтобы он не отправлял столько данных, или разделите запрос на несколько запросов.
Неизвестная база данных
ОШИБКА 1049 (42000): Неизвестная база данных по умолчанию
Эта ошибка означает, что база данных, указанная в строке подключения, не существует. Для устранения неполадок проверьте правописание и убедитесь, что база данных существует.
Хост заблокирован
ОШИБКА 1129 (HY000): Хост «имя_хоста» заблокирован из-за множества ошибок соединения.
Разблокировать с помощью mysqladmin flush-hosts
Эта ошибка означает, что сервер MySQL получил слишком много запросов на прерывание соединения из вашего местоположения.Значение по умолчанию для системной переменной max_connect_errors
равно 100, поэтому, если вы получаете много отключений за короткий период времени, это могло произойти. Чтобы устранить эту проблему, убедитесь, что время ожидания ваших запросов не истекло, а ваше сетевое соединение стабильно.