Difference between revisions of "Database"
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
==compared== | ==compared== | ||
Create table from query | |||
pg | pg | ||
select location into locations from mytable; | select location into locations from mytable; | ||
mysql | |||
CREATE TABLE locations SELECT location FROM `table 1` | |||
{{:mongodb}} | {{:mongodb}} | ||
{{:postgres}} | {{:postgres}} | ||
{{:mysql}} | {{:mysql}} |
Latest revision as of 01:20, 31 December 2015
compared
Create table from query
pg
select location into locations from mytable;
mysql
CREATE TABLE locations SELECT location FROM `table 1`
mongo
install on pi3
manual install to ubuntu
- wget
- create binaries
- add user
- change owner/permissions strip extra shit
- copy binaries to /usr/bin
- create a log directory
- set its owner/premisions
- create a /etc/mongodb.conf
- create systemd seervice entry
- sudo service mongodb start/status/stop
- create symlinks to executable directories
- create symlink to buried conf files
http://andyfelong.com/2016/01/mongodb-3-0-9-binaries-for-raspberry-pi-2-jessie/
sudo adduser --ingroup nogroup --shell /etc/false --disabled-password --gecos"" --no-create-home mongodb
mongo examples
works
show dbs use stuffDb show collections db.users.insert({email:"mckenna.tim@gmail.com"}) WriteResult({ "nInserted" : 1 }) db.users.find().pretty() db.users.update({email:"mckenna.tim@gmail.com"},{email:"mckenna.tim@gmail.com", timestamp: Date.now()})
db.lists.find({lid: "Jutebi"}, {items:1}).pretty()
var u = db.lists.find({lid: "Jutebi"}, {items:1}) u.pretty() while (u.hasNext()) {print(tojson(u.next()));} u.forEach(function(x){print(tojson(x))}) // u.forEach(function(x){print(x.product)}) u.forEach(function(x){print(x)})
db.lists.find({lid: "Jutebi"}, {"items.product":1}).pretty() //just the products
var w = db.lists.find({lid: "Jutebi"}, {"items.product":1}) w.pretty() w.forEach(function(x){print(tojson(x))}) w.toArray()
var t = db.lists.find({lid: "Jutebi"}, {"items.product":1}).toArray()
==== doesnt db.lists.find({lid: "Jutebi"}, {"items.product":1}).forEach(function(x){print(x.product);})
var u = db.lists.find({lid: "Jutebi"}, {items:1})
while(u.hasNext()){print(u.Next().product);} while (u.hasNext()) {print(tojson(u.next()));}
db.devices.find({devid:"CYURD001"})
db.devices.update({devid:"CYURD001"}, {$set:{loc:{ lat: 14.34500000, lng: -72.44400000, timezone: "America/New_York", address: "12 Parley Vale, Jamaica Plain, MA 02130" }}})
var nt = { lat: 14.34500000, lng: -72.44400000, timezone: "America/New_York", address: "12 Parley Vale, Jamaica Plain, MA 02130" }
var nt = { devid: 'YRUDBD0001', domain: 'parley', userarr: [], loc: { lat: 2334555.3344, lng: 12345.2344, timezone: -5, address: '12 Parley Vale, Jamaica Plain, MA 02130' }, users: [], usersarr: []}
back to databases
Mongod defaults the database location to: /data/db/
mongo3
mongoimport 3
C:\Program Files\MongoDB\Server\3.0\bin>mongoimport --db bus --collection bus_row --file C:\wamp\www\hackathon\hubhacks2\boggedbus\bus.json
C:\Program Files\MongoDB 2.6 Standard\bin> mongoimport --db bus --collection bus_row --file C:\wamp\www\hackathon\hubhacks2\boggedbus\server\bus.json
mongodump mongorestore
dump
mongodump -db stuffDb tar czvf dump.tar.gz dump
restore(first drop existing)
mongo >use stuffDb >db.dropDatabase()
tar xvf dump.tar.gz mongorestore dump
replica set
I'd like to configure replica set for development so I can use mongod on my laptop when the internet is not available and use a server hosted mongod when the internet is available.
so far...
- you need three instances so I've added a third on another host
- rs.add(host) happens on the primary, my laptop has no known url so it needs to be the primary
- before I go offline I need to run mongod on the laptop
- when I have internet, I kill mongod on the laptop causing the serverhosted db to take over as primary (by making the other secondary decline the honor)
- when the laptop mongod comes back up it takes control and gets the current data.
- rinse repeat
mongo scypy monay
http://emptysqua.re/blog/mongodb-boston/
mongoskin
basic mongo
mongo meteor
sudo ps -x |grep mongo 2251 pts/2 Sl+ 0:00 /home/tim/.meteor/tools/09b63f1ed5/mongodb/bin/mongod --bind_ip 127.0.0.1:3002 --dbpath /var/www/fworks/meteor/stuff2get/.meteor/local/db --oplogSize 8 --replSet meteor mongo --port 3002
from https://www.openshift.com/blogs/day-15-meteor-building-a-web-app-from-scratch-in-meteor
where is mongo?
tim@TIM-HP ~ $ mongo MongoDB shell version: 2.4.8 connecting to: test > show dbs angular-directory-db 0.203125GB local 0.078125GB test 0.203125GB > use angular-directory-db switched to db angular-directory-db > show collections employees system.indexes > db.employees.find().pretty()
installing-mongodb-on-windows-the-wamp-way
on parleyV12
https://www.digitalocean.com/community/articles/how-to-install-mongodb-on-ubuntu-12-04
sudo service mongodb start
The MongoDB instance stores its data files in the /var/lib/mongodb and its log files in /var/log/mongodb/mongodb.log
on ubuntu lucid
postgres
createdb forecast psql -U tim forecast forecast=# \l ##lists databases
mysql
back to database
getRemoteDb.sh
#!/bin/sh echo "getting database $1" read -p "Enter Your Password: " pwd echo "Welcome $pwd!" mysqldump -h sitebuilt.net -uroot -p$pwd --opt $1 > $1.sql mysql -uroot -p$pwd $1 < $1.sql
setup MYSQL
1. in phpmyadmin create the databases
2. put the databases in /var/backups/my. go there and run
mysql -p -u root sitebuil_wikidb < sitebuil_wikidb.sql mysql -p -u root sitebuil_wrdp1 < sitebuil_wrdp1.sql mysql -p -u root sitebuil_wuffdb < sitebuil_wuffdb.sql mysql -p -u root taxplans < taxplans.sql mysql -p -u root webeshoppin < webeshoppin.sql mysql -p -u root pathbost_h211 < pathbost_h211.sql mysql -p -u root pathbost_h311 < pathbost_h311.sql mysql -p -u root pathbost_h409 < pathbost_h409.sql mysql -p -u root pathbost_h409 < pathbost_h409.sql