Архив метки: MySQL

MySQL 5.7 set default root password on FreeBSD

Создаем файл /root/mysql-init следующего содержания:

UPDATE mysql.user
  SET authentication_string =
    PASSWORD('PaSsWoRd'),
  password_expired = 'N'
  WHERE User = 'root' AND
    Host = 'localhost';

в файл /etc/rc.conf

mysql_args="--init-file=/root/mysql-init"

Перезапускаем сервис mysqld командой:

service mysql-server restart

Удаляем или комментируем строку в файле rc.conf: mysql_args и еще раз перезапускаем mysql.
Заходим с установленным нами паролем или используем файл /root/.my.cnf

Первоначальная настройка MySQL

Установка MySQL.

# pkg search mysql | grep server
geoserver-mysql-plugin-2.6.1
mysql51-server-5.1.73_2
mysql55-server-5.5.41
mysql56-server-5.6.22
# pkg install mysql56-server-5.6.22

или

cd /usr/ports/databases/mysql56-server/
make install clean

Разрешаем запуск MySQL сервера.

 
echo 'mysql_enable="YES"' >> /etc/rc.conf

Настраиваем файл конфигурации /var/db/mysql/my.cnf

[mysqld]
long_query_time = 2
key_buffer_size = 512M
max_allowed_packet = 2M
sort_buffer_size = 16M
read_buffer_size = 16M
read_rnd_buffer_size = 32M
myisam_sort_buffer_size = 256M
thread_cache_size = 16
query_cache_size = 256M
query_cache_type=1
query_cache_limit=1048576
max_connections = 512
tmp_table_size=256M
max_heap_table_size=128M
innodb_file_per_table
innodb_buffer_pool_size = 512M
innodb_log_buffer_size = 32M
innodb_flush_method=O_DIRECT
innodb_doublewrite = false
innodb_flush_log_at_trx_commit = 2
sync_binlog = 0
character-set-server=utf8
collation-server=utf8_bin
default-storage-engine=INNODB
max_allowed_packet=100M
innodb_log_file_size = 256M

Запускаем.

# /usr/local/etc/rc.d/mysql-server start

Меняем пароль root.

# mysql
mysql> use mysql;
mysql> update user set password=PASSWORD("password") where User='root';
mysql> flush privileges;
mysql> quit

Дабы при работе с mysql не вводить каждый раз пароль:

mysql -uroot -ppassword

Создаем файл /root/.my.cnf следующего содержания:

[client]
password       = password

Для пущей безопасности:

chmod 600 /root/.my.cnf

Создание базы данных name_database и пользователя user_database имеющего полные права для работы только с этой базой данных:

CREATE DATABASE name_database CHARACTER SET utf8;
CREATE USER 'user_database'@'localhost' IDENTIFIED BY 'user_password';
GRANT ALL PRIVILEGES ON name_database.* TO 'user_database'@'localhost';
flush privileges;