Сообщения

Показаны сообщения с ярлыком "Базы данных"

MySQL 5.6 CentOS 6 не запускается

Я столкнулся с проблемой невозможности запустить mysqld версии 5.6 на бесплатном хостинге VPS. И, как я уже писал в блоге, сервер очень ограничен в ресурсах. Так что у серьезных дядек, с серьезными серверами, подобных проблем возникать не должно. При анализе лога, обнаружил: 2014-10-27 20:33:55 3421 [Note] InnoDB: Memory barrier is not used 2014-10-27 20:33:55 3421 [Note] InnoDB: Compressed tables use zlib 1.2.3 2014-10-27 20:33:55 3421 [Note] InnoDB: Using Linux native AIO 2014-10-27 20:33:55 3421 [Note] InnoDB: Using CPU crc32 instructions 2014-10-27 20:33:55 3421 [Note] InnoDB: Initializing buffer pool, size = 128.0M 2014-10-27 20:33:55 3421 [Note] InnoDB: Completed initialization of buffer pool InnoDB: Error: pthread_create returned 11 141027 20:33:55 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

MySQL перенос базы данных

MySQLdump Для переноса базы данных при помощи дампа нужно выполнить всего 2 действия: 1. Создать дамп Для создания дампа в файле <dump>, выполните команду: # mysqldump -u<user> -p<password> <database> > <dump>.sql 2. Восстановить из дампа Для начала, нужно создать базу данных с тем же именем: #mysql -u<user> -p<password> >CREATE DATABASE <database> Затем, восстановить командой: # mysql -u<user> -p<password> -f <database> < <dump>.sql Ключ -f  означает - игнорировать ошибки. Denwer и mysqldump Сегодня столкнулся с проблемой при выполнении той же операции под Denwer'ом. И так, нужно: 1. Зайти в каталог с mysqldump. В командной строке введите: Z: (Буква вашего виртуального диска) cd usr\local\mysql-5.1\bin  (Версия mysql может отличаться) 2. Теперь убедитесь, что в папке есть mysqldump.exe. Введите команду: dir Если среди файлов нет mysqldump.exe -> найдите и скачай...

Mysql InnoDB Ограничения внешнего ключа

Провел эксперимент. С foreign key в MySQL. Ранее я думал, что в MySQL нет ограничений на внешние ключи, но выяснилось, что есть. Для использования ограничений внешнего ключа используется такой синтаксис: [CONSTRAINT symbol] FOREIGN KEY (index_col_name, ...) REFERENCES table_name (index_col_name, ...) [ON DELETE CASCADE | ON DELETE SET NULL] В конечном итоге все выглядит так: create table table1 (id int not null auto_increment, name char(20), primary key (id)) type=innodb; create table table2 (id int auto_increment primary key, table1_id, foreign key (table1_id) references table1(id) on delete cascade) type=innodb; При отсутствии или удалении кортежа из table1 соответствующий кортеж из таблицы table2 так же будет удален. Важная часть выражения — «on delete cascade». кортеж будет УДАЛЕН. Если заменить на «on delete set null» то, указатель будет установлен в null.