Пошаговое конфигурирование MySQL для начинающих

=> Форум технической поддержки <=


Введение

Установка

Конфигурирование

текст не готов

текст не готов

текст не готов

текст не готов

Скриншоты использования


Введение:

Вы получите достаточно мощый инструмент - базы данных.

Для простого понимания (сравнивая с таблицами из MS Exel) - То MySQL это хранилище баз таблиц, содержащая поля с данными (к примеру для сравнения, столбцы или строки таблицы MS Exel). B конце концов MySQL можно представить как хранилище, которое содержит данные (переменные) для каждой ячейки таблицы.

Мы рассматриваем работу MySQL версии 4.0.15 в ОС c версии Linux Mandrake 9.1 по MandrivaLinux 2007 (Т.к. это последняя версия MySQL совместимая с самописной программой для авторизации и сбора статискики в работе прокси-сервера SQUID, см. конфигурирование SQUID). Хотя вопрос о совместимости рассматривается, возможно эта проблема (с самописной программой) будет решена для всех версий MySQL.

Мы будем конфигурировать сервер MySQL c другой машины (с ОС Windows, для полее быстрого понимания происходящего) по локальной сети, при помощи программы `MySQL-Front_2.5` (1 MB)

Просто это удобнее и нагляднее, чем в командной строке MySQL или в PHP-интерфейсе. Хотя и командной строкой тоже будем пользоваться.

Установка:

Удаляем установленныю с дистрибутивом MySQL (если версия выше MySQL-4.0.15) - управление компом, удаление пакетов, поиск, mysql, выбрать всё пакеты, кроме, apache_mod_auth_mysql, libmysql14.

Удаляем, всё содержимое каталога /var/lib/mysql/*

Копируем пакеты MySQL в какой нибудь каталог. (Естественно уже распакованные из архива zip)

Идём в управление компом, менеджер источников, создаём пользовательский источник, даём имя источнику, указываем локальный путь к пакетам, всё Ок.

Убераем "галочки" с других источников, оставляем только один источник, только что созданный.

Переходим в установку пакетов, поиск mysql, выбираем пакеты:

1. libmysql (libmysql12-4.0.15)

2. libmysql-devel (libmysql12-devel-4.0.15)

3. MySQL (MySQL-4.0.15)

4. MySQL-client (MySQL-client-4.0.15)

5. MySQL-common (MySQL-common-4.0.15)

6. perl-Mysql (perl-Mysql-1.22_19)

7. php-mysql (php-mysql-4.3.2)

Правда можно ограничиться пунктами 3, 4, 5. Пункты 1 и 2 - это дополнительные библиотеки, пункты 6 и 7 для работы с вэб-сервером и скриптами.


Установить пакеты MySQL (Только не удаление, а установка)

8. Запускаем службу mysqld (управление компьютером->службы)

Если запуск не проиcходит (матькается), то проверяем права доступа на каталог /var/lib/mysql

владелец:группа mysql:mysql

Конфигурирование:

1. И так пакеты установлены

2. Служба mysqd запущена, на виндовой машине установлена прога MySQL-Front_2.5

3. Локальная сеть уже должна быть настроена между linux-машиной и виндовой машиной.

4. Переходим на linux и в консоли вколачиваем команды:

mysql mysql

появится приглашение mysql>

update user set host='%' where host='localhost' and user='root';

возможно так не сработает, тогда нужно зделать так:

update user set host='%' where host='localhost.localdomain' and user='root';

При выполнении этой команды MySQL должна сообщить Вам о количестве изменённых записей.

а именно должно выйти сообщение:

Row matched: 1

Changed: 1

Warning: 0

Если MySQL сообщит о 0 (ноль) изменённых записей, то вместо 'localhost.localdomain' необходимо вколотить `localhost`

Это зависит от версии MySQL (А точнее от поставщика версии, к примеру Linux Red Hart, Linux Mandrake и др.)

т.е. мы в текущей базе (mysql), в таблице user, изменяем учетную запись где: пользователь root без пароля с хоста localhost.localdomain меняем на: пользователь root без пароля с любого хоста. Далее выходим из командной строки MySQL:

quit

Далее перезапускаем службу MySQL (В командной строке Linux):

mysqladmin reload

Т.е. Вы поменяли вписанный, по умолчанию, в основную базу, база "mysql" таблица "users", пользователя root, доступ только с localhost (локальный компьютер) на доступ с любого хоста (доступ с любого компьютера в сети), под пользователем root , без пароля. Теперь мы сможем управлять mysql не только с компьютера где установлена MySQL, но и с любого компьютера в сети, в том числе с виндовой.

5. Переходим на виндовую машину.

5.1. Запускаем программу MySQL-Front_2.5 и конектимся на линуксовую машину.


Т.е. указываем в этой программе IP адрес и пользователя root (пароль пока не нужно). Жмём на коннект и входим в mysql. Если выходит ошибка, то проверте установлин ли на linux сервер MySQL и запущена ли она как служба, а так же возможно Вы не правильно выполнили п. 4.

5.2. Удаляем лишние учетные записи в базе mysql (открываем базу mysql, слева, выбираем таблицу user,потом, справа, выбираем вкладку DATA и мочим лишнее, не забываем про обновление: последовательно нажимаем на "Reload User-Privileges" в панеле инструментов, потом и "refresh", последовательно).

Должна остаться только одна учетная запись:


% root без пароля.(База MySQL, таблица user)

удаляем весь доступ к пользовательским базам, (База MySQL, таблица db)

5.3. А так же удаляем лишние (тестовые) базы, все кроме базы "mysql"


5.4. Теперь к mysql устанавливаем пароль для пользователя root:

5.4.1. Выбираем базу mysql (слева)-> нажимаем вкладку query (справа), пользуемся командным окном (справа, ниже вкладок, белое, чистое окно), т.е. щелкаем туда мышкой и вколачиваем строку:

update user set password=password('ПАРОЛЬ') where user='root'

т.е. в текущей базе mysql в таблице user устанавливаем пароль для пользователя root

жмём на , потом последовательно нажимаем на "Reload User-Privileges" в панеле инструментов и "refresh".

Тут Вас должно "вывалить" из управления базами mysql.

5.4.2. Снова так же коннектимся под root (см. пункт 5.1.), но теперь указываем пароль, который Вы ввели в п.5.4.1.

6. Теперь можно переходить к созданию своих пользователей и баз.

Собственно говоря создавать базу для добавления пользователей не нужно, эта база уже существует. И называется база: mysql, интересующая нас таблица user. В этой таблице есть поля с названиями: Host, User, password и т.д. Нас интересуют первые три поля (остальные - права доступа, они по умолчанию должны быть N)

Добавляем пользователя (1-й способ):

INSERT INTO user (Host, User) VALUES ('%', 'user')

Это можно сделать следующим образом:

6.1 Нажать "мышкой" на базу "mysql", потом нажать на вкладку "Query" и "набить" эту строку в появившемся секторе окна.

Далее нажать на , потом последовательно нажимаем на "Reload User-Privileges" в панеле инструментов и "refresh".

Расшифруем команду: "Добавить в текущую базу (mysql) в таблицу user в поля Host, User значения `%`, `user` соответственно".

Что получили: Значение "%" - означает "любой", т.е. с любого хоста (компьютера в сети), а значение "user" - то и означает, имя пользователя - user

Т.е. мы добавили одного пользователя "user", (доступ без пароля и с любого хоста). - Не вздумайте напрямую в поле password вводить пароль, пароли заводим по аналогии с пунктом 5.4 !!!

Но доступа пока не к чему нет, т.к. не назначен доступ этого пользователя к пользовательским базам и таблицам (этому пользователю - user).

Добавляем пользователя (2-й способ):

INSERT INTO user (Host, User) VALUES ('%', 'user')

Это можно сделать следующим образом:

6.2 Нажать (мышкой) на "+" базы "mysql", далее нажать на табличку "user", далее нажать на вкладку "Data" и выбрать в последней строке поле "host", в появившемся секторе окна, далее нажать кнупку "стрелочка вниз" (на клавиатуре) - появится ещё одна строка (пустая) с этими же полями. Далее, вводим прямо с клавиатуры, в поле "Host" вводим знак "%", далее нажимаем на "стрелочку вправо" (переходим в поле "User") и вводим имя пользователя "user", Далее нажать на "стрелочка вниз", потом последовательно нажимаем на "Reload User-Privileges" в панеле инструментов и "refresh".

- Не вздумайте напрямую в поле password вводить пароль, пароли заводим по аналогии с пунктом 5.4 !!!

Если не получилось, то возвращаемся к пункту 6.2

7. Разрешаем доступ пользователей к базам.

Переходим в табличку под именем "DB" (базы "mysql") и также, по аналогии с пунктом 6.2 в соответствующие поля вводим:

7.1 В поле Host вводим с каких ностов будет доступ, если "%" то со всех.

7.2 В поле Db вводим имя базы (условно обзавём "tables") к которой будет доступ этого пользователя (user). Можно вводить даже пока не существующие базы.

7.3. В поле User вводим имя пользователя (user)

7.4 В остальных полях права доступа, пока поставте во всех этих полях "Y".

8. Создаём пользовательскую базу.

Просто "щёлкаем" по кнопке (в панели управления программы) "create database" или через меню "tools":

8.1 Даём имя пользовательской базе, пусть будет "tables"

9. Создаём пользовательскую таблицу в базе "tables".