May 2024
M T W T F S S
 12345
6789101112
13141516171819
20212223242526
2728293031  

Categories

May 2024
M T W T F S S
 12345
6789101112
13141516171819
20212223242526
2728293031  

EC2 instance

chmod 400 SeniorServer.pem

Server: ssh -i "SeniorServer.pem" ec2-user@ec2-54-149-37-172.us-west-2.compute.amazonaws.com
password for root:qwe123456

server2: ssh -i "senior_design_victor.pem" ec2-user@ec2-54-69-160-179.us-west-2.compute.amazonaws.com

controller: ssh -i "zheng.pem" ec2-user@ec2-52-34-59-51.us-west-2.compute.amazonaws.com


DB: mysql -h seniordesign.c9btkcvedeon.us-west-2.rds.amazonaws.com -P 3306 -u root -p
username: root
password: qwe123456


use command "screen" to keep running server codes and controller codes on AWS
screen  #create a new screen session
screen -ls  #check running screens
screen -r screenID   #resume to a screen
screen -X -S screenID kill   #end a screen


MySQL:
create table transaction (username varchar(20), history varchar(20));
insert into property (username,password,money) values ("client1","123",100);


To create more replicated server/db:

Master (RDS) - all in mysql, no Bash - remember to remove [] from statements
	1. Create new slave
		CREATE USER '[SLAVE USERNAME]'@'%' IDENTIFIED BY '[SLAVE PASSWORD]'; 
	2. Give it access 
		GRANT REPLICATION SLAVE ON *.* TO '[SLAVE USERNAME]'@'%';  

Slave (Server) - 
	1. [Bash] Import the database from master
		mysqldump -h seniordesign.c9btkcvedeon.us-west-2.rds.amazonaws.com -u root -p senior_design > dump.sql

	2. [Bash] Import the dump.sql into your database 
		mysql senior_design < dump.sql

	3. [Bash] Edit the /etc/my.cnf - will require root access, add the follow lines
	**Remember to keep server-id different (currently using 10, so next is 11, etc...)
		# Give the server a unique ID
		server-id               = #CHANGE THIS NUMBER#
		#
		# Ensure there's a relay log
		relay-log               = /var/lib/mysql/mysql-relay-bin.log
		#
		# Keep the binary log on
		log_bin                 = /var/lib/mysql/mysql-bin.log
		replicate_do_db            = senior_design

	4. [Bash] Restart mysqld
		service mysqld restart

Master-Slave Connection Creation
	1. On master (RDS) - type
		show master status;
		** We will need to keep note of File and Position
		+----------------------------+----------+--------------+------------------+-------------------+
		| File                       | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
		+----------------------------+----------+--------------+------------------+-------------------+
		| mysql-bin-changelog.010934 |      400 |              |                  |                   |
		+----------------------------+----------+--------------+------------------+-------------------+
	2. On the slave, enter mysql then enter
		CHANGE MASTER TO MASTER_HOST='seniordesign.c9btkcvedeon.us-west-2.rds.amazonaws.com', MASTER_USER='[SLAVE NAME]', MASTER_PASSWORD='[SLAVE PWD]', MASTER_LOG_FILE='[MASTER FILE] ', MASTER_LOG_POS= [MASTER POSITION];
	3. On the slave, enter "START SLAVE;"
	4. Make sure the slave started - "SHOW SLAVE STATUS\G;"
	5. You can always triple check by adding a new row to senior_design in master then see if it updates in slave.

	TROUBLESHOOTING 
	- If for some reason you mess up the slave in step 2.
		[mysql] on the slave side
			reset slave;
		then repeat step 2 - 5
	- If in SHOW SLAVE STATUS\G shows error
		try 
			STOP SLAVE;
			SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
			START SLAVE;
		error should be gone, but this will only skip the error; the error may still re-appear

use senior_design;
select count(*) from property;


Slave user pass:
Slave 1 - username: slave1 pass: slave1pwd
Slave 2 - username: slave2 pass: [slave2]

CHANGE MASTER TO MASTER_HOST='seniordesign.c9btkcvedeon.us-west-2.rds.amazonaws.com', MASTER_USER='slave1', MASTER_PASSWORD='slave1pwd', MASTER_LOG_FILE='mysql-bin-changelog.011030', MASTER_LOG_POS= 400;

CHANGE MASTER TO MASTER_HOST='seniordesign.c9btkcvedeon.us-west-2.rds.amazonaws.com', MASTER_USER='slave2', MASTER_PASSWORD='[slave2]', MASTER_LOG_FILE='mysql-bin-changelog.011030', MASTER_LOG_POS= 400;

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>