Советы хостера

Рынки и технологии

Авторизация




MySQL. Первые шаги

База данных MySQL

Для большиства современных сайтов требуется mysql. Сервер мы уже установили ранее (пакеты mysql, mysql-server и компонент для PHP - php-mysql). Теперь надо выполнить настройки. В отличии от настроек Apache и PHP, где изначально изменения не требуются, в MySQL есть одна особенность, - после установки у MySQL есть суперпользователь - root, который имеет полные права на все действия в рамках mysql, при чем без пароля. Пароль нужно обязательно назначить. Запускаем mysql

service mysqld start

После первого запуска вы увидите отладочную информацию и

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h v3896.vps.masterhost.ru
password 'new-password'

т.е. меняем пароль как можно быстрее. Для этого делаем так

mysql -u root

Welcome to the MySQL monitor.
Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.45 Source distribution
Type 'help;' or '\h' for help.
Type '\c' to clear the buffer.
mysql>

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

mysql> use mysql;

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('ваш-пароль-для-суперпользователя');

Все, новый пароль назначен. Выйти из mysql> можно нажатием Ctrl + D.

Если необходимо, то можно поправить настройки MySQL, адаптировав их для работы в кодировке cp1251. Да, - это основная кодировка для русскоязычных сайтов. Хотя многие используют utf-8. Но для примера взята именно cp1251. В файле /etc/my.cnf в секции [mysqld] добавляем две строки

default-character-set=cp1251
init-connect="SET NAMES cp1251"

После перезапускаем MySQL, чтобы настройки вступили в силу:

service mysqld restart

Теперь авторизуемся с новым паролем

mysql -u root -p

и создадим пользователя userdb со своим паролем и базу данных под названием mydb, доступ к которой разрешен этому пользователю:

CREATE DATABASE IF NOT EXISTS `mydb` ;

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, PROCESS, FILE, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE ON * . * TO 'userdb'@'localhost' IDENTIFIED BY 'пароль' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

Теперь у вас есть пользователь userdb, имеющий все необходимые права для работы с базой данных mydb. В настройках известного блог движка wordpress эти параметры будут выглядеть так:

// ** MySQL settings ** //

define('DB_NAME', 'mydb'); // The name of the database

define('DB_USER', 'userdb'); // Your MySQL username

define('DB_PASSWORD', 'пароль'); // ...and password

define('DB_HOST', 'localhost'); // 99% chance you won't need to change this value

Если требуется изменить пароль, то это можно сделать по примеру, как вы делали это для суперпользователя root.

Я намеряно не стал раскрывать подробности установки программы-клиент phpmyadmin, т.к. лучше, чтобы вы попробовали сделать это сами, да и вообще процедура установки этих наборов скриптов, достаточно большая, чтобы раскрыть ее в данной статье. Гораздо быстрей и удобней выполнять администрирование баз данных через утилиты консоли. Утилиту mysql вы уже опробовали. Вторая утилита - mysqldump, с помощью которой вы сможете создавать дампы баз данных или восстанавливаться из них.