Архив рубрики: bd

mongo set value

db.users.update( { _id: ObjectId(«54d09446afcc44142c000001″) }, { $set: { account_token: null} } );

not work service mongod start

may be:

  • errors in /var/log/mongodb/mongod.log
  • litle free disk spase (df -h)
  • after:

rm -rf /mongo-testdata/mongod.lock
[root@shilov project]# chown -R mongod.mongod /mongo-testdata
[root@shilov project]# mongod —config /etc/mongod.conf

 

restore record mongoid

 

include Mongoid::Paranoia

c = Contest.find(«541088a753bb5660ad00041e»)

claim = c.claims.where(deleted_at: { ‘$ne’ => nil }).last

claim.restore

c.claims.where(deleted_at: { ‘$ne’ => nil }).to_a

Migration

script/generate migration NAMEOFMIGRATION
export RAILS_ENV=production / set export RAILS_ENV=production
rake db:migrate

errors

tail /var/log/messages -n 1000
tail /var/log/mongodb/mongod.log -n 10000

Commands

Model.all_in | Criteria#all_in

Adds a criterion that specifies values that must all match in order to return results. The corresponding MongoDB operation is $all.

MONGOID

# Match all people with Bond and 007 as aliases.
Person.all_in(aliases: [ "Bond", "007" ])

MONGODB QUERY SELECTOR Читать далее

dump and restore

Проверка с другой машины есть ли доступ к серверу

mongo —host 178.62.190.77 —port 27017

или

telnet 178.62.190.74 27017

service mongodb status
ps aux | grep mong
cd /tmp
mongodump -db project_db
zip -r dump.zip dump/
scp -r root@62.76.188.182:/tmp/dump.zip ./
unzip dump.zip
mongorestore dump/

или  mongod —setParameter failIndexKeyTooLong=false —config /etc/mongod.conf

http://docs.mongodb.org/manual/reference/parameters/#param.failIndexKeyTooLong
mongo
top
# /etc/init.d/mongodb status
service mongod start

dump and restore

Создание дампа

Разберем пример простейшее использования, задампим базу данных «database» при помощи перенаправления потока в файл «database.sql»:

mysqldump -uroot -h82.82.82.82 -p database > database.sql

где:

  • -u или -–user=… - имя пользователя
  • -h или —host=… - удаленный хост (для локального хоста можно опустить этот параметр)
  • -p или —password - запросить пароль
  • database - имя базы данных
  • database.sql - файл для дампа


Для того чтобы сделать дамп несколько баз данных, необходимо использовать параметр —databases (или сокращенно -B), пример:

mysqldump -uroot -h82.82.82.82 -p -B database1 database2 database3 > databases.sql

А для того чтобы сделать дамп всех баз данных, необходимо использовать параметр —all-databases (или сокращенно -A), пример:

mysqldump -uroot -h82.82.82.82 -p -A > all-databases.sql

Развертывание дампа

Перенаправляем поток в обратную сторону и развертываем базу данных:

mysql -uroot -h82.82.82.82 -p database < database.sql

Или через mysql-console:

mysql> use database;
mysql> source database.sql

Ну, а если у нас gz-архив к примеру, то:

zcat database.sql.gz | mysql -uroot -h82.82.82.82 -p database
Делаем бекап
mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql

Создаём структуру базы без данных
mysqldump --no-data - u USER -pPASSWORD DATABASE > /path/to/file/schema.sql

Если нужно сделать дамп только одной или нескольких таблиц
mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > dump.sql

Создаём бекап и сразу его архивируем
mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz

Создание бекапа с указанием его даты
mysqldump -u USER -pPASSWORD DATABASE | gzip > `date +dump.sql.%Y%m%d.%H%M%S.gz`

-Q оборачивает имена обратными кавычками
-c делает полную вставку, включая имена колонок
-e делает расширенную вставку.
   Итоговый файл получается меньше и делается он чуть быстрее
mysqldump -Q -c -e -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql

Сделать дамп базы blog.
Для каждой записи в таблицу использовать отдельный insert.
$ mysqldump blog --extended-insert=FALSE 

Сделать дамп таблицы но исползовать ограничение where
$ mysqldump my_super_shop_database shop_products --where="active=1"