Читайте также:
|
|
1. Создаем базу данных согласно варианту задания, пусть для примера у нас будет таблица с данными о статистике на компьютеры:
CREATE TABLE IF NOT EXISTS `pc` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`title` VARCHAR(45) NOT NULL,
`price` DOUBLE NOT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
2. Настраиваем Master-Slave репликацию на 2-х MySQL серверах и выполняем на обоих вышеуказанный запрос. Если Master-Slave репликация была настроена раньше, чем созданы таблицы в обоих MySQL серверах (пункт 1), то тогда таблицу и базу данных нужно создать ТОЛЬКО на Master сервере. Т.к. база данных и таблица pc автоматически появится на SLAVE сервере.
2. Открываем консоль windows (в Windows XP - пуск->выполнить->cmd)
3. Перемещаемся в директорию с установленной nodejs:
cd C:\Program Files\nodejs
4. Установить (если не установлен) драйвер для MySQL (https://github.com/felixge/node-mysql):
npm install mysql@2.0.0-alpha3
или просто распаковать архив «mysql_nodejs_driver» из папки programs в папку C:\Program Files\nodejs\node_modules\mysql
5. Создаем файл C:\ws\www\nodejs\server_repl_master.js следующего содержимого (он будет сохранять данные в master БД):
var http = require('http');
var url = require('url');
var server_port = '1337';
var server_ip = '127.0.0.1';
var mysql = require('C:/Program Files/nodejs/node_modules/mysql/index.js');
// MySQL мастер
var master_connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'srod'
});
// коннектимся к MySQL
master_connection.connect();
http.createServer(function (req, res){
var sql_query = null;
// записываем данные в БД
sql_query = "INSERT INTO `pc` (`id`, `title`, `price`) VALUES (NULL, 'New pc item"+String(Math.random())+"', "+String(Math.random())+")";
master_connection.query(sql_query, function(err, rows, fields) {
end_time = new Date().getTime();
if (err) { throw err; }
content = "<H1>MySQL master writer:</H1>";
content += "new pc item was added";
res.writeHead(200, {'Content-Type': 'text/html','Content-Length':content.length});
res.write(content);
res.end();
});
}).listen(server_port, server_ip);
// говорим о том, что сервер стартовал
console.log('Server running at http://'+server_ip+':'+server_port+'/');
4. Запустить сервер на nodejs можно вот такой командой:
node C:\ws\www\nodejs\server_repl_master.js
В результате на экране появится нечто вроде:
Server running at http://127.0.0.1:1337/
5. Запускаем в браузере адрес http://127.0.0.1:1337/ на экране должно появиться:
MySQL master writer:
new pc item was added
6. Подключаемся к MySQL серверу и проверяем, что вставились данные на SLAVE. Для этого сначала коннектимся к MySQL серверу:
mysql -P 3308 -u root
Выполняем запрос на выборку данных из таблицы PC:
SELECT * FROM srod.pc;
На экране должно появиться:
+----+-------------------------------+----------------------+
| id | title | price |
+----+-------------------------------+----------------------+
| 1 | New pc item0.5479995431378484 | 0.045062282122671604 |
-----+-------------------------------+----------------------+
1 rows in set (0.00 sec)
7. Смотрим текущую позицию SLAVE:
mysql> show slave status \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 127.0.0.1
Master_User: root
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master-log.000001
Read_Master_Log_Pos: 4142
Relay_Log_File: home-a719be1647-relay-bin.000002
Relay_Log_Pos: 2850
Relay_Master_Log_File: master-log.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 4142
Relay_Log_Space: 3016
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
1 row in set (0.00 sec)
Дата добавления: 2015-10-02; просмотров: 55 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Настраиваем MASTER-SLAVE репликацию на MySQL сервере | | | Азақстан Республикасының экологиялық кодексі: – Алматы: ЮРИСТ, 2007. – 172 б. |