Вниз

Posts from the ‘MySQL’ Category

27
Апр

MySQL Workbench – графический инструмент для работы с серверами и базами данных MySQL

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

Он не поддерживает MySQL версий 4.x.

Следующее обсуждение кратко описывает возможности MySQL Workbench. Для получения дополнительной информации см. MySQL Workbench руководство, доступное в http://dev.mysql.com/doc/workbench/en/.

MySQL Workbench предоставляет три основных функциональных областей:

  • SQL Развитие: Позволяет создавать и управлять подключениями к серверам баз данных. А также позволяет вам настраивать параметры соединения, MySQL Workbench предоставляет возможность выполнения SQL-запросы к базе данных соединений с использованием встроенный редактор SQL. Эта функция заменяет ранее предоставленной запросов применение автономных браузера.
  • Моделирование данных: позволяет создавать модели схемы базы данных графически и реальной базе данных и редактирования всех аспектах вашей базы данных с помощью всеобъемлющего редактор таблиц. Редактор таблиц предоставляет простые в использовании средства для редактирования таблиц, столбцов, индексы, триггеры, разделов, параметры вставки и привилегии, Процедуры и представлений.
  • Администрирование сервера: позволяет создавать и администрировать сервер экземпляров. Эта функция заменяет ранее предоставляемых автономным приложением администратора MySQL. MySQL Workbench доступна в двух версиях, Community Edition и Standard Edition. Community Edition является предоставляется бесплатно. Standard Edition предоставляет дополнительные возможности предприятиям.
20
Мар

Как подключиться к MySQL используя PHP

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

1. Создайте файл с именем – config.php:

/* Настройки для подключения к СУБД MySQL */

$localhost = "localhost";
$database = "имя_базы";
$user = "имя_пользователя";
$password = "пароль";

Переменная $localhost хранить имя подключения, если подключение происходить на локальном компьютере это имя localhost, иначе если подключение к MySQL происходит на удаленном компьютере, тогда вместо localhost указывается IP адрес удаленного компьютера. Переменная $datebase хранит имя базы данных, к которой мы хотим подключиться. Переменная $user и $password соответственно хранит имя пользователя и пароль пользователя базы данных MySQL.

2. Создаем подключение к MySQL:

$result = mysql_connect($localhost, $user, $password);

Функция mysql_connect() создает новое подключение к MySQL или использует существующее. Передаем список параметров: $localhost, $user, $password в которых передается имя локального компьютера, имя пользователя, пароль. Возвращает TRUE если соединение было успешно установлено или FALSE если возникла ошибка. Результат записываем в переменную $result.

3. Проверяем, есть ли соединение с MySQL:

if(!$result)
{
    echo "<p>К сожалению, не доступен сервер MySQL</p>";
    exit();
}

Если в переменную $result попадает значение FALSE, тогда выполняется действие которое находиться в фигурных скобках. В браузере выведет текст: К сожалению, не доступен сервер MySQL. После этого сработает функция exit() остановить выполнение следующего действия. В случае TRUE PHP проигнорирует конструкцию IF и пойдет дальше читать код.

4. Выбирает базу данных MySQL:

if (!mysql_select_db($database, $result) )
  {
    echo "<p>К сожалению, не доступна база данных</p>";
    exit();
  }

Функция mysql_select_db() выбирает для работы указанную базу данных и дальше при каждом вызове mysql_query() будет работать с выбранной базой данных. Первым параметром передаем имя выбранной базы данных, в нашем случае – переменная $database. Вторым параметром передаем соединение MySQL – переменная $result. Если функция mysql_select_db() возвращает FALSE в этом случае PHP попадает в блок IF и выводит в браузер текст: К сожалению, не доступна база данных далее срабатывает функция exit() останавливает выполнение следующего действия.

В случае TRUE PHP проигнорирует конструкцию IF и пойдет дальше читать код. Важно делать проверки перед тем, как начинать работать – помогает облегчить работу устранения ошибок. Ниже полный код подключения к MySQL:

/* Настройки для подключения к СУБД MySQL */

$localhost = "localhost";
$database = "имя_базы";
$user = "имя_пользователя";
$password = "пароль";

// Создаем подключение к MySQL
$result = mysql_connect($localhost, $user, $password);

// Проверяем создалось подключение к MySQL
if(!$result)
{
    echo "<p>К сожалению, не доступен сервер MySQL</p>";
    exit();
}

// Выбираем базу данных MySQL и проверяем доступна она в базе данных
if (!mysql_select_db($database, $result) )
  {
    echo "<p>К сожалению, не доступна база данных</p>";
    exit();
  }

// Выполняем запрос...
  mysql_query("SELECT VERSION()");

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

12
Мар

Как начинающим освоить MySQL

Каждый начинающий, кто поставил перед собой цель освоить веб-технологии рано или поздно нужно будет освоить язык SQL – язык структурированных запросов,  применяемый для создания и управления данными в реляционных базах данных. Если говорить о современном веб-приложении, то сегодня практически каждое приложение взаимодействует с СУБД – система управления базой данных.

Самое популярное СУБД для работы с веб-приложениями – MySQL. Сегодня практически все веб-сайты, которые работают в сети взаимодействуют с СУБД MySQL. Конечно MySQL не единственное СУБД, есть ряд других, но сложилось так, что самое популярное. Поэтому разработчикам веб-приложений НЕОБХОДИМО освоить СУБД MySQL и язык SQL.

Пожалуйста не майтесь дурью… Не нужно покупать или качать десятки книг, все равно вы их сразу не прочтете, а если уж осилите, то огромного результата не даст. Необходим РЕЗУЛЬТАТ, его мы можем получить только когда будем, что-то делать, а не читать постоянно книги. Читать книги – хорошо, но еще лучше практиковаться, только так мы получаем опыт и навыки.

Выберите, одну толковую книгу по изучении MySQL. Сосредоточьтесь на этой книге, прочтите ее, закрепите каждую главу на практике. Если, что-то слабо усвоилось, практикуйтесь, не бойтесь вернуться и еще несколько раз прочитать и сделать. Рекомендую прочесть книгу Алана Бьюли «Изучаем SQL», лично мне эта книга очень помогла. Книга написана простым языком, для простых людей в книге доступным языком описывается как установить сервер MySQL, как работают операторы, фильтры и т.д. Подробнее об этой книге читайте в разделе «Книги»

Если нету еще навыков работы с MySQL, нету понимания типов данных и операторов SQL, не рекомендую начинать осваивать в phpMyAdmin. Это не значить, что phpMyAdmin – плохо. Главная задача освоить SQL и MySQL – лучше делать через консольное приложение.

Скачайте с официального сайта бесплатно сервер MySQL, установите его себе на компьютер и работайте. Например: если взять книгу Алана Бьюли «Изучаем SQL» в ней подробный курс SQL и работа с MySQL, все примеры работы через консольное приложение.

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

Ваши инструменты: выбранная книга, сервер MySQL, практика, практика и еще раз практика.

Имея опыт работы через консольное приложение, разработчику не составить сложности работать в том же самом phpMyAdmin, ему не составит сложности писать все команды SQL. Это нужно и важно, потому, что управлять и создавать базу данных можно в phpMyAdmin толком и не зная SQL. Но помните SQL – запросы писать нужно будет при разработке веб-приложений, от этого не уйти.

Именно по этой причине я рекомендую начинать обучение SQL и MySQL на консольном приложении.

19
Дек

Как подключиться к MySQL используя ADO.NET

Когда я начал свое знакомство с технологией ADO.NET меня сразу заинтересовал вопрос: «Как можно подключиться к MySQL, используя технологию ADO.NET» .  Я начал искать решения. Сейчас, когда я реализовал у себя на компьютере все это, хочу с вами поделиться своим опытом и навыками. Давайте для начала разберем, что нам понадобится для реализации этой затеи.

  1. Сервер баз данных MySQL
  2. Visual Studio (В моем примере это Visual Studio 2010)
  3. Библиотека для работы с MySQL

Надеюсь, что у вас уже установлен сервер баз данных MySQL и программа Visual Studio. Если нет, тогда сделайте установку до того, как приступите к работе. Все готово. Visual Studio установлена, сервер баз данных MySQL установлен. Первым делом нам понадобится dll библиотека MySQL, которая будет помогать работать с ADO.NET в среде .NET Framework. Скачать библиотеку можно на официальном сайте MySQL по адресу: dev.mysql.com.

Для скачивания на сайте доступны два варианта: первый – установщик, второй – архив, в примере будет рассматриваться первый вариант. И так, Скачали? Установили? Прекрасно, идем дальше, дальше нам нужно обратиться к папке, в которую мы установили dll библиотеку MySQL, у меня путь к библиотеке выглядит так  – C:\Program Files\MySQL\MySQL Connector Net 6.4.4\Assemblies\v2.0 в этой папке находим и копируем файл MySql.Date.dll в буфер.

Создаем консольное приложение в Visual Studio  через Файл -> Создать -> Проект (File -> New -> Project) или Ctrl + Shift + N. Выбираем язык Visual C# консольное приложение нажимает ОК.  Обращаемся к папке проекта где лежать все файлы, только что созданного консольного приложения {название проекта}/bin/Debug/ копируем суда файл MySql.Date.dll. В обозревателе решения(solution Explorer) в меню «Ссылки(references)» необходимо «Добавить ссылку(add a link)».

В результате в обозревателе решения(solution Explorer) в меню «Ссылки(references)» появиться ссылка на dll библиотеку MySql.Data. Очень хорошо, теперь остается подключить эту самую библиотеку в наш проект это делается очень просто:

// Используем пространство имен MySql.Date
using MySql.Data.MySqlClient;

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

 string host = "localhost"; // Имя хоста
 string database = "mysql"; // Имя базы данных
 string user = "root"; // Имя пользователя
 string password = "password"; // Пароль пользователя

 string Connect = "Database=" + database + ";Datasource=" + host + ";User=" + user + ";Password=" + password;

Мы создали 5 строковых переменных в 4 из которых прописали настройки для соединения с базой данных – имя локального компьютера, имя база данных, имя пользователя и пароль пользователя все эти настройки присвоили строковой переменной Connect в ней храниться полное подключение к базе данных. Создаем объект MySqlConnection с именем mysql_connection и передаем ей строку для подключения Connect:

MySqlConnection mysql_connection = new MySqlConnection(Connect);

Объект MySqlConnection – соединение с базой данных. Следующим шагом мы создаем объект MySqlCommand с именем mysql_query используя текущее подключение создаем SQL запрос, который будет храниться в mysql_query. Объект MySqlCommand – выполняет SQL команд.

MySqlCommand mysql_query = mysql_connection.CreateCommand();
mysql_query.CommandText = "SELECT user FROM user;";

Дальше для подключение и соединения с базой данных нужно вызвать метод .Open():

mysql_connection.Open();

Теперь, чтобы увидеть обработанный запрос нужно создать объект MySqlDataReader:

MySqlDataReader mysql_result;

Для выполнения SQL запроса на консольное окно нам понадобится метод ExecuteReader(), Read(), GetString() и цикл while. Метод ExecuteReader() выполняет запрос и возвращает 0 и более строк результата. Метод Read() – переходит от одной строки к другой пока конец данных не будет достигнут. Метод GetString() извлекает конкретное значение, которое нужно вернуть.


mysql_result = mysql_query.ExecuteReader();

while (mysql_result.Read())
{
    Console.WriteLine("{0}", mysql_result.GetString(0));
}

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

mysql_connection.Close();

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
// Используем пространство имен MySql.Date
using MySql.Data.MySqlClient;

namespace MySQLConsole
{
    class Program
    {
        static void Main(string[] args)
        {
            string host = "localhost"; // Имя локального компьютера
            string database = "mysql"; // Имя базы данных
            string user = "root"; // Имя пользователя
            string password = "password"; // Пароль пользователя

            string Connect = "Database=" + database + ";Datasource=" + host + ";User=" + user + ";Password=" + password;

            // Создаем соединение с базой данных
            MySqlConnection mysql_connection = new MySqlConnection(Connect);

            // Создание SQL команды
            MySqlCommand mysql_query = mysql_connection.CreateCommand();
            mysql_query.CommandText = "SELECT user FROM user;";

            try
            {
                mysql_connection.Open();
                MySqlDataReader mysql_result;
                mysql_result = mysql_query.ExecuteReader();
                while (mysql_result.Read())
                {
                    Console.WriteLine("{0}", mysql_result.GetString(0));
                }

                mysql_connection.Close();

                string command;
                do
                {
                    command = Console.ReadLine();
                    if (command != "quit")
                    {
                        mysql_query = new MySqlCommand("SELECT host, user, password FROM user WHERE user =\"" + command + "\";", mysql_connection);
                        mysql_connection.Open();
                        mysql_result = mysql_query.ExecuteReader();
                        if (mysql_result.Read())
                        {
                            Console.WriteLine("\nИнформация о пользователе: {0}", command);
                            Console.WriteLine("HOST: {0}", mysql_result.GetString(0));
                            Console.WriteLine("USER: {0}", mysql_result.GetString(1));
                            Console.WriteLine("PASSWORD: {0}", mysql_result.GetString(2));
                        }
                        else
                        {
                            Console.WriteLine("Пользователя {0} в базе не существует!", command);
                        }
                        mysql_connection.Close();
                    }
                }
                while (command != "quit");

            }
            catch
            {
               Console.WriteLine("Ошибка MySQL");
            }

        }
    }

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

9
Дек

MySQL: Если потерялся пароль пользователя root

Если вдруг потерялся пароль пользователя root? Или может что-то еще с ним приключилось. Как исправить ситуацию и восстановить его? При этом не стирая базу данных и не переустанавливая сервер MySQL. Покажу вам стандартный способ, как сбросить пароль. Для этого вы должны иметь физический доступ к командной строке. Давайте начнем наш экскурс…

1) Нужно остановить службу MySQL. Как это сделать?! Очень просто! В этом не должно возникать сложностей. Мы будем делать это через командную строку используя команду:

net stop mysql

Открыть командную строку можно через комбинацию Win+R или через меню Пуск -> Выполнить.
2) Запускаем сервер с ключем –skip-grant-tables, в командной строке выполните команду:

mysqld --skip-grant-tables

3) Откройте новое окно командной строки, войдите на сервер использую

mysql

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

USE mysql; -- Выбираем базу данных mysql
SELECT user, password FROM user; -- Убеждаемся, что наш пользователь root существует в базе данных

Убедились, что пользователь root существует в базе?! Хорошо, возвращаемся к запросу. Наш запрос вернул список пользователей, которые существуют в базе данных. Перейдем к восстановлению пароля пользователя root. Выполните следующий запрос:

UPDATE user SET
password = PASSWORD('password')
WHERE user = 'root';

Этот запрос говорит нам: Обнови поле password где user равен имени root в таблице user. Где (‘password’) – новый пароль, который мы присвоили root-у. Главная цель достигнута, думаю вы справились с этим не сложным заданием, можно завершать нашу работу.

4) Финальный штрих будет заключаться в выполнением одной командой и запуска службы MySQL, все действия выполняем в консольном окне

exit -- Завершение работы из консоли
mysqladmin shutdown -- Выполнение команды mysqladmin shutdown
net start mysql -- Старт службы MySQL

В результате, мы с вами без вреда изменили пароль пользователя root. Все это сделано в несколько этапов и занимает минимальное время выполнения, теперь вы знаете как вести себя, в случае, когда забудете или потеряете пароль пользователя к базе данных MySQL.