Адрес этой странички : http://doc-prg.narod.ru/art_00950/art_00950.htm 
Дата обновления: 12.03.2009

(c) Sergey Popov, Usinsk, Komi, 2007

© 12.03.2009 Сергей Попов

SQL-сервер : MySQL.
Базы Данных.
Установка, запуск и настройка ...
(практические шаги - проверено на себе)

Статью в виде файла (430 кб) можно скачать здесь: art_00950.zip 

SQL-сервер : MySQL
Платформа  : win32
Версия     : 3.23.58
 


По умолчанию устанавливается в C:\mysql 

Содержание. 

1

Установка 

2

Первый запуск 

3

Первичная настройка 

4

Настройка на базу данных 



Прежде, чем устанавливать MySQL – нужно остановить сервер MySQL (если он загружен в память компьютера).

Если сервер работает как сервис, то применить следующую команду: 
C:\> NET STOP MySQL

 

В остальных случаях использовать: 
C:\mysql\bin> mysqladmin -u root shutdown
 

 

Если вы хотите изменить исполняемый файл сервера (т.е. -max или -nt), необходимо также удалить сервис: 

C:\mysql\bin> mysqld-max-nt –remove
C:\mysql\bin> mysqld-nt –remove
 
И т.д.

 

Внимание!
Если не проходит команда : 
   
NET
STOP MySQL 
То надо использовать 
   
C:\mysql\bin> mysqladmin -u root shutdown

 


Установка.

1) Запустить SETUP.EXE
Следовать командам программы инсталляции.

Нажимаем Next

Нажимаем Next

Нажимаем Next  (или меняем папку, куда установить)

Указываем тип установки :   Typical (типичный) и нажимаем Next

После установки – нажимаем кнопку  Finish

На этом установка  MySQL  заканчивается.

 

 


Первый запуск 

Начиная с версии MySQL 3.23.38, дистрибутив для Windows включает в себя как обычный бинарный код, так и бинарный код сервера MySQL-Max. Ниже приводится список различных серверов MySQL, которые можно использовать:  

Бинарный код

Описание

mysqld

Скомпилирован с полным набором возможностей отладки и автоматической проверки выделения памяти, символических ссылок, таблиц InnoDB и BDB.

mysqld-opt

Оптимизированный бинарный код без поддержки транзакционных таблиц.

mysqld-nt

Оптимизированный бинарный код для NT/2000/XP с поддержкой именованных каналов. Можно запустить эту версию на Windows 9x/Me, но в этом случае не создаются именованные каналы и необходимо иметь установленный протокол TCP/IP.

mysqld-max

Оптимизированный бинарный код с поддержкой символических ссылок и таблиц InnoDB и BDB.

mysqld-max-nt

Подобен mysqld-max, но скомпилирован с поддержкой именованных каналов.

 

Перед запуском надо создать настроечный файл   

              ?:\windows\my.ini   

Существует два файла опций с одинаковыми функциями: `my.cnf' и `my.ini'. Однако во избежание недоразумений лучше всего использовать только один из них. Оба файла представляют собой простой текст. Если вы собираетесь использовать файл `my.cnf', то его следует создать в корневом каталоге диска C, если `my.ini' - то в системном каталоге Windows (это обычно что-либо вроде `C:\WINDOWS' или `C:\WINNT'; его точное местоположение можно определить по значению переменной окружения windir). MySQL сначала ищет файл `my.ini', а затем `my.cnf'.

 

Внимание ! 
Настройки программы располагаются в файле :
    
Каталог_
Windows\my.ini  
Или в файле :
     C:\my.cnf


Этот вариант :
    
Каталог_
Windows\my.ini
 

предпочтительнее  (это связано с тем, что не всегда C: является загрузочным диском).

 

Пример файла my.ini :

#This File was made using the WinMySQLAdmin 1.4 Tool
#12.08.2005 15:53:44 

#Uncomment or Add only the keys that you know how works.
#Read the MySQL Manual for instructions 

[mysqld]
basedir=C:/mysql
#bind-address=172.18.124.92
datadir=C:/mysql/data
#language=C:/mysql/share/russian
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M

default-character-set=cp1251

 

Теперь надо установить сервис сервера

?:\mysql\bin> mysqld-nt --install  

Сервис устанавливается под именем MySQL


Далее нужно запустить MySQL-сервер в качестве сервиса

NET START MySQL
 

Если нужно сервер запустить  НЕ в качестве сервиса, то можно так :
?:\mysql\bin> mysqld-nt --standalone

или

?:\mysql\bin> mysqld-max --standalone

и т.д.

 

В окне Диспетчера задач Windows (Ctrl+Alt+Del) на вкладке процессы должна присутствовать строка :

Это значит, что SQL-сервер запущен, как сервис. 

Внимание !
Если запускать из командной строки
Far.exe, то Far может «не вернуться» в командную строку. 
Это неважно. Просто надо закрыть
Far любым способом.

 


Первичная настройка :

1.  Создать архивную копию всех файлов в каталоге mysql  : 

   ?:\mysql\data\mysql\

Это – крайне важно (чтоб можно было сделать откат в случае корявого «администрирования» на начальном этапе) !!!

 

2.  Выполнить команду : 

   ?:\mysql\bin\mysql.exe -u root 

Если удачно -  видим «подсказку» в командной строке : 

   mysql>

 

3.  Смотрим,  какие пользователи у нас есть по умолчанию : 

mysql> use mysql;
mysql> select user,host,password from user;

  

 

4.  Меняем пароль СуперПользователю (root)  !!!

  mysql> UPDATE user SET Password=PASSWORD('НовыйПароль') WHERE user='root';

Например, 

  mysql> UPDATE user SET Password= PASSWORD('123') WHERE user='root';

Контроль :

 mysql> select user,host,password from user;

 

5.  Оставляем только ОДНОГО СуперПользователя  (root) и даем ему возможность  работать ТОЛЬКО с локального компьютера !!!

Сначала удаляем всех «левых»  СуперПользователей (возможно потребуется несколько команд), но так, чтобы один все-таки остался 

  mysql> DELETE FROM user WHERE (user=’root’) and (Host=gcw’);

Контроль :
  mysql> select user,host,password from user;

 

6.  Удаляем всех остальных «левых» Пользователей (не root)

   mysql> DELETE FROM user WHERE (user<>’root’);

Контроль :

  mysql> select user,host,password from user;

 

7.  Выходим из  программы  mysql.exe

     mysql> exit;
    
   или

    
mysql> quit;

Останавливаем сервис : 

   net stop mysql

и вновь запускаем : 

   net start mysql

 

8.  Проверка.

   ?:\mysql\bin\mysql.exe –h localhost -u root -p

 

Т.е., все OK. 

Выходим из утилиты  mysql.exe

   mysql> quit;

 

 

9.  Если что-то напортачили, то :

9.1   Выгружаем сервер MySQL из памяти (из командной строки) : 

          net stop  mysql
            
или

         
mysqladmin
-u root shutdown

   9.2   Восстанавливаем архивную копию базы данных mysql  (см. пункт  1) в каталог : 

          ?:\mysql\data\mysql\ 

9.3   Запускаем сервер MySQL (из командной строки) 

          net start  mysql

 

9.4   Начинаем настройку с начала (с пункта 2) …
             :-)

 

10.  Удаляем все ненужные базы данных.
     Важно !!! 
Никогда нельзя удалять базу данных mysql  

  ?:\mysql\bin\mysqladmin -u root -p drop ИмяБазыДанных


Например, 

  ?:\mysql\bin\mysqladmin -u root -p drop test

 

11.  Создаем  «глобальных» системных Пользователей (для удобства работы). 

«Зайдем» в mysql.exe : 

   ?:\mysql\bin\mysql.exe –h localhost -u root -p
   
или

  
?:\mysql\bin\mysql.exe -u root -p

Выберем базу данных :

   mysql> use mysql;

 

Создадим СуперПользователя (для себя), чтобы можно было администрировать откуда угодно (как с локального компа, так и с любого удаленного). Для этого нужно выполнить две команды INSERT

INSERT INTO user VALUES('localhost','ИмяПользователя',PASSWORD('Пароль'),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
 

INSERT INTO user VALUES('%','ИмяПользователя',PASSWORD('Пароль'),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');

Например

INSERT INTO user VALUES('localhost','itsme',PASSWORD('321'),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
 

INSERT INTO user VALUES('%','itsme',PASSWORD('321'),
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
 

 

Контроль : 

  mysql> select user,host,password from user;

 

Если нужно – добавляем других Пользователей … 

Не забывайте перезагрузить сервер MySQL !!!

     net stop  mysql   и    net start  mysql

 


Настройка на базу данных.

Пример – настройка на базу данных  ROR.
Пусть для этой базы данных будет определено два Пользователя : 

ror_admin – со всеми правами к ЭТОЙ базе данных (с паролем =ror_a)
ror
_user
  - со всеми правами по доступу к информационным таблицам ЭТОЙ  б.д. (select,insert.update,delete) (с паролем =ror_u

1.   Из командной строки (Far.exe)  создаем базу данных ROR

      C:\mysql\bin> mysqladmin -u root -p create ROR 

2.   «Зайдем» на сервер MySQL

      C:\mysql\bin> mysql.exe -u root -p 

3.  Выберем базу данных mysql

      mysql> use mysql; 

4.  Создаем Пользователя ror_admin (с доступом откуда угодно, но без прав на уровне сервера): 

   GRANT usage ON *.* TO ror_admin@localhost IDENTIFIED BY 'ror_a';
  
GRANT usage ON *.* TO ror_admin@"
%" IDENTIFIED BY 'ror_a'; 

5.   Даем ему все права на уровне базы данных ROR (доступ откуда угодно) : 

   GRANT ALL ON ror.* TO ror_admin@localhost IDENTIFIED BY 'ror_a';
  
GRANT ALL ON ror.* TO ror_admin@"
%" IDENTIFIED BY 'ror_a'; 

6.  Создаем Пользователя ror_user (с доступом откуда угодно, но без прав на уровне сервера): 

   GRANT usage ON *.* TO ror_user@localhost IDENTIFIED BY 'ror_u';
  
GRANT usage ON *.* TO ror_user@"
%" IDENTIFIED BY 'ror_u'; 

7.   Даем ему  все права для работы с информацией в таблицах на уровне
      базы данных ROR (доступ откуда угодно) : 

   GRANT SELECT, INSERT, UPDATE, DELETE
           ON ror.* TO ror_user@localhost IDENTIFIED BY 'ror_u';
  
GRANT SELECT, INSERT, UPDATE, DELETE
           ON ror.* TO ror_user@"
%" IDENTIFIED BY 'ror_u'; 

8.  На всякий случай проверяем :
 
    select * from db;

    
select * from user;
 

9.  Выходим из программы mysql.exe :
    
mysql> quit;

10.  Перезагружаем сервер :
    
net stop  mysql   
    
net start  mysql

 

Теперь Пользователь ror_admin может приступить к созданию структуры базы данных ROR. 

Для этого он должен зайти запустить от своего имени программу  mysql.exe

   C:\mysql\bin> mysql.exe -u ror_admin -p 

«Перейти» на свою базу данных : 

   mysql> use ror; 


И далее – уж как инстинкты подскажут …

 

 

 

© 12.03.2009 Сергей Попов

 


Hosted by uCoz
-->