Пошаговое конфигурирование 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".