Пример конфигурационного файла MYSQL.

#Секция клиентов
[client]
# Порт для клиентов.
port = 3306
# Сокет.
socket = /var/run/mysqld/mysqld.sock

#Секция mysqk_safe
# Настройки для работы в режиме mysql_safe
<strong>[mysqld_safe]</strong>
#
socket = /var/run/mysqld/mysqld.sock
#
nice = 0

# Секйция mysqld
# Настройки для работы в режиме mysqld
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
bind-address = 127.0.0.1
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 1M
query_cache_size = 16M
expire_logs_days = 10
max_binlog_size = 100M
skip-bdb
skip-federated
skip-locking
big-tables
set-variable = net_buffer_length=64M
set-variable = max_allowed_packet=16M
set-variable = myisam_sort_buffer_size=64M
set-variable = sort_buffer=64M
set-variable = max_connections=100
set-variable = key_buffer=32M
set-variable = table_cache=128
long_query_time = 360
record_buffer = 32M
max_connect_errors = 50
connect_timeout = 400

#innodb
innodb_buffer_pool_size = 150M
innodb_additional_mem_pool_size = 50M
innodb_thread_concurrency = 8

[mysqldump]
quick
quote-names
max_allowed_packet = 16M

[mysql]

[myisamchk]
key_buffer = 16M
sort_buffer_size = 16M

[isamchk]
key_buffer        = 16M
sort_buffer_size = 16M</pre>
 

Создание баз данных.

Создание базы данных в MySQL производится с помощью утилиты mysqladmin. Изначально существует только БД mysql для администратора и БД test,в которую может войти любой пользователь и которая по умолчанию пуста. Приведенный ниже пример иллюстрирует создание базы данных.

shell> mysqladmin -u root -p create data1
Enter password:******

Database "data1" created.

По умолчанию, root имеет доступ ко всем базам данных и таблицам. Перейти в созданную базу данных можно используя команду mysql.

shell> mysql -u root -p data1
Enter password:******

Welcome to MySQL monitor.
mysql>

Теперь можно создавать таблицы и вводить информацию.

Удаление баз данных.

Удаление базы данных в MySQL производится с помощью утилиты mysqladmin.

shell> mysqladmin -u root -p drop data1
Enter password: ******
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.

Do you really want to drop the 'data1' database [y/N] y
Database "data1" dropped

Добавление пользователя и назначение ему прав на базу.

Новых пользователей можно добавлять, используя команду GRANT:

shell> mysql -u root mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO monty@"%"  IDENTIFIED BY 'some_pass' WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO admin@localhost;
mysql> GRANT USAGE ON *.* TO dummy@localhost;

Эти команды GRANT создают трех новых пользователей:

monty — Полноценный суперпользователь — он может подсоединяться к серверу откуда угодно, но должен использовать для этого пароль some_pass. Обратите внимание на то, что мы должны применить операторы GRANT как для monty@localhost, так и для monty@"%". Если не добавить запись с localhost, запись анонимного пользователя для localhost, которая создается при помощи mysql_install_db, будет иметь преимущество при подсоединении с локального компьютера, так как в ней указано более определенное значение для поля Host, и она расположена раньше в таблице user.

admin — Пользователь, который может подсоединяться с localhost без пароля; ему назначены административные привилегии RELOAD и PROCESS. Эти привилегии позволяют пользователю запускать команды mysqladmin reload, mysqladmin refresh и mysqladmin flush-*, а также mysqladmin processlist. Ему не назначено никаких привилегий, относящихся к базам данных (их можно назначить позже, дополнительно применив оператор GRANT).

dummy Пользователь, который может подсоединяться к серверу без пароля, но только с локального компьютера. Все глобальные привилегии установлены в значение 'N'-тип привилегии USAGE, который позволяет создавать пользователей без привилегий. Предполагается, что относящиеся к базам данных привилегии будут назначены позже.

Смена пароля пользователя.

Задача: Поменять пароль у пользователя user базы mysql, зная пароль рута.
Решение:

shell> mysql -u root mysql
mysql> SET PASSWORD FOR user = PASSWORD('123');
mysql> FLUSH PRIVILEGES;
© 2011 ADTL Blog Suffusion theme by Sayontan Sinha