Giả sử rằng:
- Máy chủ chính có địa chỉ IP là: 123.456.789.1
- Máy chủ thay thế có địa chỉ IP là: 123.456.789.2
Cài đặt ứng dụng mysql:
yum install mysql-server mysqlKhởi động dịch vụ của mysql:
systemctl start mysqlSửa tập tin /etc/my.cnf, và thêm vào phần [mysqld] nội dung sau:
systemctl enable mysql
server-id = 1 binlog-do-db=database relay-log = mysql-relay-bin relay-log-index = mysql-relay-bin.index log-bin = mysql-binTrong đó database là tên của database bạn muốn tạo replica.
Khởi động lại dịch vụ mysql bằng lệnh:
systemctl restart mysqlĐăng nhập vào mysql bằng lệnh:
mysql -u root -pChạy lần lượt các lệnh sau để tạo tài khoản cho máy chủ replica:
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slaveuser'@'%' IDENTIFIED BY 'PASSWORD' mysql> FLUSH PRIVILEGES; mysql> FLUSH TABLES WITH READ LOCK; mysql> SHOW MASTER STATUS; mysql> SHOW MASTER STATUS; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000001 | 245 | database | | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec) mysql> exitLưu ý nhớ thông tin trong cột File và Position để sử dụng trên máy chủ replica.
Sử dụng lệnh sau để xuất dữ liệu từ máy chủ chính và import vào máy chủ replica:
mysqldump -u root -p --master-data database > /root/database.sql2.Trên máy chủ thay thế
Tiến hành cài đặt mysql và sử đổi tập tin cấu hình /etc/my.cnf để thêm nội dung sau vào phần [mysqld]:
server-id = 2 master-host=123.456.789.1 master-connect-retry=60 master-user=slaveuser master-password=PASSWORD replicate-do-db=database relay-log = mysql-relay-bin log-bin = mysql-bin
Khởi động lại dịch vụ của mysql:
systemctl restart mysql
Tiến hành import dữ liệu vào hệ thống:
mysql -u root -p < /root/database.sql
Đăng nhập vào dịch vụ:
mysql -u root -p
Cấu hình cho máy chủ slave:
mysql> slave stop; mysql> CHANGE MASTER TO MASTER_HOST='123.456.789.1', MASTER_USER='slaveuser', MASTER_PASSWORD='PASSWORD', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=245; mysql> slave start;
Kiểm tra trạng thái của máy chủ slave bằng lệnh sau:
mysql> show slave status;
Nếu thấy output hiện ra có dòng sau là thành công:
Slave_IO_State: Waiting for master to send event
Tham khảo tại đây
Fix lại với phiên bản mysql mới:
Trả lờiXóahttp://www.linuxdict.com/2012-01-mysqld-unknown-variable-master-host/
Php 7 trên centos 6:
Trả lờiXóahttp://www.shayanderson.com/linux/centos-5-or-centos-6-upgrade-php-to-php-54-or-php-55.htm
Phân quyền remote cho mysql:
Trả lờiXóahttp://stackoverflow.com/questions/6239131/how-to-grant-remote-access-permissions-to-mysql-server-for-user
Tạo user trên mysql:
Trả lờiXóahttps://www.digitalocean.com/community/tutorials/how-to-create-a-new-user-and-grant-permissions-in-mysql
where is the command to send dump to slave...(rsync,scp) ????
Trả lờiXóa