MySQL 数据库同步配置
来源:互联网 发布:淘宝千里眼在线人数 编辑:程序博客网 时间:2024/06/04 20:37
1. 创建远程登陆用户
默认的 mysql 配置仅允许本地登录。先要修改配置 /etc/mysql/mysql.conf.d/mysql.cnf,把这一行注释掉。
# By default we only accept connections from localhost# bind-address = 127.0.0.1
重启 mysql 后,然后登录 mysql 添加用户。
### 查看用户mysql> select user, Host from mysql.user;+------------------+---------------+| user | Host |+------------------+---------------+| root | 127.0.0.1 || root | ::1 || debian-sys-maint | localhost || mysql.sys | localhost || root | localhost || root | ubuntu-server|+------------------+---------------+6 rows in set (0.00 sec)### 添加远程登录用户mysql> grant replication slave on *.* to 'replicate_user'@'%' identified by '123456';Query OK, 0 rows affected, 1 warning (0.01 sec)### 此处添加的用户 replicate_user 是允许任何IP 远程登陆 表示为 '%'### 如果没有该需求 可以在创建的时候 指定允许某一个IP登陆 'user'@'IP'### 确认添加成功mysql> select user, Host from mysql.user;+------------------+---------------+| user | Host |+------------------+---------------+| replicate_user | % || root | 127.0.0.1 || root | ::1 || debian-sys-maint | localhost || mysql.sys | localhost || root | localhost || root | ubuntu-server|+------------------+---------------+7 rows in set (0.00 sec)### 查看所有用户的权限mysql> select * from mysql.user\G...### 略过非目标用户...*************************** 7. row *************************** Host: % User: replicate_user Select_priv: N Insert_priv: N Update_priv: N Delete_priv: N Create_priv: N Drop_priv: N Reload_priv: N Shutdown_priv: N Process_priv: N File_priv: N Grant_priv: N References_priv: N Index_priv: N Alter_priv: N Show_db_priv: N Super_priv: NCreate_tmp_table_priv: N Lock_tables_priv: N Execute_priv: N Repl_slave_priv: Y Repl_client_priv: N Create_view_priv: N Show_view_priv: N Create_routine_priv: N Alter_routine_priv: N Create_user_priv: N Event_priv: N Trigger_priv: NCreate_tablespace_priv: N ssl_type: ssl_cipher: x509_issuer: x509_subject: max_questions: 0 max_updates: 0 max_connections: 0 max_user_connections: 0 plugin: mysql_native_passwordauthentication_string: *7EEFBE4E8365990EC8454EE2182B97431575A5C8 password_expired: Npassword_last_changed: 2016-11-30 14:56:35 password_lifetime: NULL account_locked: N7 rows in set (0.00 sec)### 从上面可以看到,我们刚建立的用户只有一个 slave 权限,由于我们需要使用远程登录,所有要再开一个权限(安全起见只开一个同步权限)### 打开 supaer 权限mysql> grant super on *.* to replicate_user@'%';### 确认已经打开mysql> select * from mysql.user\G...### 略过非目标用户行...*************************** 7. row *************************** Host: % User: replicate_user Select_priv: N Insert_priv: N Update_priv: N Delete_priv: N Create_priv: N Drop_priv: N Reload_priv: N Shutdown_priv: N Process_priv: N File_priv: N Grant_priv: N References_priv: N Index_priv: N Alter_priv: N Show_db_priv: N Super_priv: YCreate_tmp_table_priv: N Lock_tables_priv: N Execute_priv: N Repl_slave_priv: Y Repl_client_priv: N Create_view_priv: N Show_view_priv: N Create_routine_priv: N Alter_routine_priv: N Create_user_priv: N Event_priv: N Trigger_priv: NCreate_tablespace_priv: N ssl_type: ssl_cipher: x509_issuer: x509_subject: max_questions: 0 max_updates: 0 max_connections: 0 max_user_connections: 0 plugin: mysql_native_passwordauthentication_string: *7EEFBE4E8365990EC8454EE2182B97431575A5C8 password_expired: Npassword_last_changed: 2016-11-30 14:56:35 password_lifetime: NULL account_locked: N7 rows in set (0.00 sec)### 刷新生效mysql>flush privileges;
打开防火墙 3306 端口。
# iptables -A FW_INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
在另一台服务器的终端上尝试远程登陆。
# mysql -h'172.16.2.228' -u'replicate_user' -p'123456'
2. 修改 mysql 配置文件,配置互主备份
在 /etc/mysql/mysql.conf.d/mysql.cnf 添加以下内容:
# 作为 master 的配置# 忽略系统的 DBbinlog_ignore_db = information_schemabinlog_ignore_db = mysqlbinlog_ignore_db = performance_schemabinlog_ignore_db = sys# 上传 DB binlog_do_db = database# 作为 slave 的配置replicate_do_db = databasereplicate_ignore_table = table# multi-source replicationmaster_info_repository = TABLErelay_log_info_repository = TABLE
重启 mysql。
# service mysql restart
3. 开始配置
### 停止 slave 运行mysql> stop slave;### 设置 slave 通道mysql> CHANGE MASTER TO MASTER_HOST='172.16.2.107', MASTER_USER='replicate_user', MASTER_PASSWORD='123456 ', MASTER_LOG_FILE='mysql-bin.000069', MASTER_LOG_POS=1902 FOR CHANNEL 'cfmanager';### 启动 slavemysql> start slave;### 查看 slave 状态mysql> show slave status\G... Slave_IO_Running: Yes Slave_SQL_Running: Yes...### 只要保证以上两项是 Yes 就可以了
0 0
- MySQL 数据库同步配置
- mysql数据库主从同步配置
- MySql数据库主从同步配置
- MYSQL主从数据库同步备份配置
- mysql数据库同步配置参数及常见问题
- MySQL数据库主从同步的配置
- MYSQL主从数据库同步备份配置
- MySQL数据库的主从同步配置
- 简单的MySQL数据库主从同步配置
- Linux下MySQL数据库主从同步配置
- Windows 下配置mysql主从数据库同步
- MySQL 5.6数据库配置主从同步
- Windows操作系统MySQL数据库主从同步配置
- MySql数据库主从同步配置(参考)
- MySql数据库主从同步配置(亲测)
- CentOs MySQL 数据库主从同步配置
- linux mysql数据库主从同步配置
- 数据库同步,配置两个数据源(mysql)
- 前端框架Aurelia —— 路由Router
- Java中的Timer和TimerTask在Android中的用法
- 水题-nefuoj-1171
- DB2的限制/最大值汇总
- 海岛争霸 第七届河南省程序设计大赛
- MySQL 数据库同步配置
- Linux_Hi3518 SDK 安装以及编译出错分析
- js货币比较
- 工作汇报
- Perf -- Linux下的系统性能调优工具
- ResultSet结果集
- javascript中的数据类型转换
- elasticsearch配置文件详解
- multipartfile上传文件