# In production you would almost certainly limit the replication user must be on the follower (slave) machine, # to prevent other clients accessing the log from other machines. For example, 'replicator'@'follower.acme.com'. # # However, this grant is equivalent to specifying *any* hosts, which makes this easier since the docker host # is not easily known to the Docker container. But don't do this in production. # GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'replicator' IDENTIFIED BY 'replpass'; # Create the database that we'll use to populate data and watch the effect in the binlog GRANT ALL PRIVILEGES ON inventory.* TO 'mysqluser'@'%'; # Switch to this database USE inventory; # Create and populate our products using a single insert with many rows CREATE TABLE products ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, description VARCHAR(512), weight FLOAT ); ALTER TABLE products AUTO_INCREMENT = 101; INSERT INTO products VALUES (default,"scooter","Small 2-wheel scooter",3.14), (default,"car battery","12V car battery",8.1), (default,"12-pack drill bits","12-pack of drill bits with sizes ranging from #40 to #3",0.8), (default,"hammer","12oz carpenter's hammer",0.75), (default,"hammer","14oz carpenter's hammer",0.875), (default,"hammer","16oz carpenter's hammer",1.0), (default,"rocks","box of assorted rocks",5.3), (default,"jacket","water resistent black wind breaker",0.1), (default,"spare tire","24 inch spare tire",22.2); # Create and populate the products on hand using multiple inserts CREATE TABLE products_on_hand ( product_id INTEGER NOT NULL PRIMARY KEY, quantity INTEGER NOT NULL, FOREIGN KEY (product_id) REFERENCES products(id) ); INSERT INTO products_on_hand VALUES (101,3); INSERT INTO products_on_hand VALUES (102,8); INSERT INTO products_on_hand VALUES (103,18); INSERT INTO products_on_hand VALUES (104,4); INSERT INTO products_on_hand VALUES (105,5); INSERT INTO products_on_hand VALUES (106,0); INSERT INTO products_on_hand VALUES (107,44); INSERT INTO products_on_hand VALUES (108,2); INSERT INTO products_on_hand VALUES (109,5); # Create some customers ... CREATE TABLE customers ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL UNIQUE KEY ) AUTO_INCREMENT=1001; INSERT INTO customers VALUES (default,"Sally","Thomas","sally.thomas@acme.com"), (default,"George","Bailey","gbailey@foobar.com"), (default,"Edward","Walker","ed@walker.com"), (default,"Anne","Kretchmar","annek@noanswer.org"); # Create some veyr simple orders CREATE TABLE orders ( order_number INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, order_date DATE NOT NULL, purchaser INTEGER NOT NULL, quantity INTEGER NOT NULL, product_id INTEGER NOT NULL, FOREIGN KEY order_customer (purchaser) REFERENCES customers(id), FOREIGN KEY ordered_product (product_id) REFERENCES products(id) ) AUTO_INCREMENT = 10001; INSERT INTO orders VALUES (default, '2016-01-16', 1001, 1, 102), (default, '2016-01-17', 1002, 2, 105), (default, '2016-02-19', 1002, 2, 106), (default, '2016-02-21', 1003, 1, 107);