Mysql(Mariadb)数据库主从
一、准备工作:
- yum install mariadb-server.x86_64 mariadb.x86_64 -y
- systemctl start mariadb.service && systemctl enable mariadb.service
- mysql_secure_installation
- NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
- SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
- In order to log into MariaDB to secure it, we'll need the current
- password for the root user. If you've just installed MariaDB, and
- you haven't set the root password yet, the password will be blank,
- so you should just press enter here.
- Enter current password for root (enter for none):
- OK, successfully used password, moving on...
- Setting the root password ensures that nobody can log into the MariaDB
- root user without the proper authorisation.
- Set root password? [Y/n] y
- New password:
- Re-enter new password:
- Password updated successfully!
- Reloading privilege tables..
- ... Success!
- By default, a MariaDB installation has an anonymous user, allowing anyone
- to log into MariaDB without having to have a user account created for
- them. This is intended only for testing, and to make the installation
- go a bit smoother. You should remove them before moving into a
- production environment.
- Remove anonymous users? [Y/n] y
- ... Success!
- Normally, root should only be allowed to connect from 'localhost'. This
- ensures that someone cannot guess at the root password from the network.
- Disallow root login remotely? [Y/n] n
- ... skipping.
- By default, MariaDB comes with a database named 'test' that anyone can
- access. This is also intended only for testing, and should be removed
- before moving into a production environment.
- Remove test database and access to it? [Y/n] n
- ... skipping.
- Reloading the privilege tables will ensure that all changes made so far
- will take effect immediately.
- Reload privilege tables now? [Y/n] y
- ... Success!
- Cleaning up...
- All done! If you've completed all of the above steps, your MariaDB
- installation should now be secure.
- Thanks for using MariaDB!
二、主数据库master修改:
- find / -name my.cnf
- [mysqld]
- log-bin=mysql-bin #开启二进制日志
- server-id=1 #设置server-id
- log-bin="/var/lib/mysql/" #设定生成的log文件名;
- systemctl restart mariadb.service
- mysql -hlocalhost -uroot -ppassword
- MariaDB [(none)]> CREATE USER 'wxp'@'192.168.1.200' IDENTIFIED BY 'password';#创建用户
- MariaDB [(none)]> GRANT REPLICATION SLAVE ON *.* TO 'wxp'@'192.168.1.100';#分配权限
- MariaDB [(none)]>flush privileges; #刷新权限
- MariaDB [(none)]> SHOW MASTER STATUS;
- +------------------+----------+--------------+------------------+
- | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
- +------------------+----------+--------------+------------------+
- | mysql-bin.000001 | 492 | | |
- +------------------+----------+--------------+------------------+
- 1 row in set (0.00 sec)
三、从服务器slave修改:
- find / -name my.cnf
- [mysqld]server-id=2 #设置server-id,必须唯一
- log-bin="/var/lib/mysql/" #设定生成的log文件名;
- systemctl restart mariadb.service
- mysql -hlocalhost -uroot -ppassword
- MariaDB [(none)]> CHANGE MASTER TO
- -> MASTER_HOST='192.168.3.91',
- -> MASTER_USER='wxp',
- -> MASTER_PASSWORD='password',
- -> MASTER_LOG_FILE='mysql-bin.000001',
- -> MASTER_LOG_POS=492;
- mysql> select * from mysql.slave_master_info \G
- MariaDB [(none)]>start slave;
- MariaDB [(none)]> show slave status\G;
- MariaDB [(none)]> show slave status\G;
- *************************** 1. row ***************************
- Slave_IO_State: Waiting for master to send event
- Master_Host: 192.168.3.91
- Master_User: wxp
- Master_Port: 3306
- Connect_Retry: 60
- Master_Log_File: mysql-bin.000001
- Read_Master_Log_Pos: 492
- Relay_Log_File: mariadb-relay-bin.000002
- Relay_Log_Pos: 529
- Relay_Master_Log_File: mysql-bin.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: 492
- Relay_Log_Space: 825
- 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)
- ERROR: No query specified
- Until_Log_File:
- MariaDB [(none)]> use test;
- Database changed
- MariaDB [test]> create table t1(Name varchar(18));
- Query OK, 0 rows affected (0.03 sec)
- MariaDB [test]> insert into t1(Name) values('wxp');
- Query OK, 1 row affected (0.01 sec)
- MariaDB [test]> select * from t1;
- +------+
- | Name |
- +------+
- | wxp |
- +------+
- 1 row in set (0.00 sec)
- [root@backup-3-218 ~]# mysql -hlocalhost -uroot -ppassword
- MariaDB [(none)]> use test;
- MariaDB [test]> show tables;
- +----------------+
- | Tables_in_test |
- +----------------+
- | t1 |
- +----------------+
- 1 row in set (0.00 sec)
- MariaDB [test]> select * from t1;
- +------+
- | Name |
- +------+
- | wxp |
- +------+
- 1 row in set (0.00 sec)
- # 不同步哪些数据库
- # vim /etc/my.cnf
- binlog-ignore-db = mysql
- binlog-ignore-db = test
- binlog-ignore-db = information_schema
- # systemctl restart mariadb.service
- # 只同步哪些数据库,除此之外,其他不同步 binlog-do-db = wxp
- # 日志保留时间
- expire_logs_days = 10
- # 控制binlog的写入频率。每执行多少次事务写入一次
- # 这个参数性能消耗很大,但可减小MySQL崩溃造成的损失
- sync_binlog = 5
- # 日志格式,建议mixed
- # statement 保存SQL语句
- # row 保存影响记录数据
- # mixed 前面两种的结合
- binlog_format = mixed
- # 停止主从同步
- mysql> stop slave;
- # 连接断开时,重新连接超时时间
- mysql> change master to master_connect_retry=50;
- # 开启主从同步
- mysql> start slave;
Mysql(Mariadb)数据库主从的更多相关文章
- MySQL/MariaDB数据库的主从级联复制
MySQL/MariaDB数据库的主从级联复制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.主从复制类型概述 1>.主从复制 博主推荐阅读: https://ww ...
- MySQL/MariaDB数据库的Galera高可用性集群实战
MySQL/MariaDB数据库的Galera高可用性集群实战 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Galera Cluster概述 1>.什么是Gale ...
- MySQL/MariaDB数据库的复制监控和维护
MySQL/MariaDB数据库的复制监控和维护 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.清理日志 1>.删除指定日志文件名称之前的日志(也可用基于时间) M ...
- MySQL/MariaDB数据库的主主复制
MySQL/MariaDB数据库的主主复制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.主主复制概述 1>.什么是主主复制 所谓的主主复制,说白了就是两台节点互为 ...
- MySQL/MariaDB数据库的主从复制
MySQL/MariaDB数据库的主从复制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL复制概述 1>.传统扩展方式 垂直扩展(也叫向上扩展,Sacle ...
- MySQL/MariaDB数据库的性能测试
MySQL/MariaDB数据库的性能测试 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据库服务衡量指标 qps: query per second(每秒支持多少查询 ...
- MySQL/MariaDB数据库的MHA实现高可用实战
MySQL/MariaDB数据库的MHA实现高可用实战 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL高可用常见的解决方案 1>.Multi-Master ...
- MySQL/MariaDB数据库的PROXY实现读写分离
MySQL/MariaDB数据库的PROXY实现读写分离 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ProxySQL概述 1>.各家互联网公司读写分离的解决方案 m ...
- MySQL/MariaDB数据库的复制加密
MySQL/MariaDB数据库的复制加密 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.MySQL的安全问题 1>.基于SSL复制 在默认的主从复制过程或远程连接 ...
- MySQL/MariaDB数据库的复制过滤器
MySQL/MariaDB数据库的复制过滤器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.复制过滤器概述 1>.复制器过滤器功能 让从节点仅复制指定的数据库,或指 ...
随机推荐
- .gitignore 模式匹配
匹配模式前使用 / 表示根目录 匹配模式后使用 / 代表是目录(不是文件) 匹配模式前加 ! 表示取反 * 代表任意个字符 ? 匹配任意一个字符 ** 匹配任意级目录
- 关于RAID小结
独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks ...
- php RSA和AES加密算法
一.RSA加密 RSA只说PHP中的应用,详细的算法原理解释,请自行百度,或者参考(RSA加密算法-详细解释以及公钥加密为什么每次都不一样) 总结:公钥加密.私钥解密.私钥签名.公钥验签. 注意: 1 ...
- C语言合法标识符(hud2024)
输入方式:先输入一个整型,再循环输入带空格的字符串. 思考:整型用scanf_s()输入.大循环输入字符串前用getchar()函数读取缓冲区的字符.然后,输入带空格的字符串就要用”gets_s()“ ...
- 正确去除隐藏在WordPress系统各处的版本号
使用WordPress的博主都有一个普遍的意识,就是为了安全而移除WordPress的版本号,以免不良用心的人利用旧版本的漏洞对网站进行攻击. WordPress会在前端代码head中加入以下代码(3 ...
- 项目readme文件目录生成工具 treer
生成目录的工具呢有tree和treer,但是tree不知道怎么忽略node_modules文件夹, 而treer就简单了,下面就是基本的命令了 其中-i是指忽略xxx, -e是指导出 安装 npm i ...
- MVC案例之模糊查询与删除
查询操作: Servlet //1. 调用 CustomerDAO 的 getAll() 得到 Customer 的集合 List<Customer> customers ...
- Docker: GUI 应用,macOS 上如何运行呢?
操作系统: macOS Catalina 基础镜像: continuumio/anaconda3, based on debian Step 1) 安装 XQuartz,允许网络连接 # 安装 bre ...
- ES6-for...of与for...in
1.includes 数组是否包含某个东西 <!DOCTYPE html> <html lang="en"> <head> <meta c ...
- Spring AMQP:RabbitTemplate SimpleMessageListenerContainer
一.RabbitTemplate介绍 RabbitTemplate:消息模板,在与Spring AMQP整合时,进行发送消息的关键类. 包括了可靠性投递消息方法.回调监听消息接口ConfirmCall ...