style="text-indent:2em;">其实如何使用mysql主从配置的问题并不复杂,但是又很多的朋友都不太了解mysql id 不建议过长,因此呢,今天小编就来为大家分享如何使用mysql主从配置的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
本文目录
Java自学有什么好的学习建议么
就好像一千个人心中有一千个哈利波特一样,这个答案不绝对也不唯一,Java好学但自学的确阻力有些大,作为一门技术语言,它所蕴含的智慧绝对不是靠几本XX入门,XX框架之类的书所能概括,自学Java你要做好一种英语0基础达到4级水平的准备理出了一些自学Java可能遇到的问题,希望会对你的学习有所促进和帮助。
自学Java可能遇到的问题有哪些?
一方面是:对Java了解不够深刻,缺乏灵活应用的本领就好像我们学会了26个英文单词,但仍旧不能写出一串正确的句子;
另一方面是:缺乏独立查找错误的能力这个能力是伴随所有程序的,无论你有多少年丰富的项目经验,你必须能写代码,还能发现bug并且能够解决这个bug,对于自学者而言因为没有基础的沉淀,对Java各种编程属性的不了解,往往会遇到“能正着写,却不能倒着推”三分时间写代码七分时间找bug工作效率也大打折扣。
耗尽了所有的耐力,学到这里才是Java课程基础,你可能用了3个月、5个月甚至更久才勉强消化这些知识,对以后学好框架几乎成了奢望。所以自学Java还是奢望,自学Java只是浪费时间,最后还会成为徒劳,什么都学习不会。
下面是我觉得是比较全面的学习框架体系
1:电商项目专题
2:分布式专题
3:团队协作专题
4:微服务架构专题
5:性能优化专题
6:源码分析
结尾
最后,送大家一句话,我是在某个网站上看到的:
再牛x的梦想也抵不住傻x似的坚持!
还有,别走。
我没有办法助你成功,那是洗脑工程师做的事儿。
我倒是有这么个晋升渠道,它可能会帮你完成那每天的0.01的积累。
如何使用mysql主从配置
mysql主从配置
MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的
MySQL主从是基于binlog的,主上须开启binlog才能进行主从。
主从过程大致有3个步骤
1)主将更改操作记录到binlog里
2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog(中继日志)里
3)从根据relaylog里面的sql语句按顺序执行
主上有一个logdump线程,用来和从的I/O线程传递binlog
从上有两个线程,其中I/O线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的sql语句落地
这里写图片描述
主从配置-主上操作
安装mysql
修改my.cnf,增加server-id=130和log_bin=aminglinux1
[root@wwlinux701logs]#vim/etc/my.cnf
server-id=130
log_bin=wwlinux701
修改完配置文件后,启动或者重启mysqld服务
[root@wwlinux701logs]#/etc/init.d/mysqldrestart
ShuttingdownMySQL....SUCCESS!
StartingMySQL..............SUCCESS!
[root@wwlinux701logs]#
1
2
3
4
把mysql库备份并恢复成aming库,作为测试数据
mysqldump-uroot-p123456mysql>/tmp/mysql.sql
mysql-uroot-p123456-e“createdatabaseaming”
mysql-uroot-p123456aming</tmp/mysql.sql
[root@wwlinux701logs]#mysqldump-uroot-p123456mysql>/tmp/mysql.sql
Warning:Usingapasswordonthecommandlineinterfacecanbeinsecure.
[root@wwlinux701logs]#mysql-uroot-p123456-e"createdatabaseaming"
Warning:Usingapasswordonthecommandlineinterfacecanbeinsecure.
[root@wwlinux701logs]#mysql-uroot-p123456aming</tmp/mysql.sql
Warning:Usingapasswordonthecommandlineinterfacecanbeinsecure.
[root@wwlinux701logs]#
创建用作同步数据的用户
mysql-uroot-p123456aming
grantreplicationslaveon.to‘repl’@192.168.11.131identifiedby‘123456’;
flushtableswithreadlock;#需要先锁定表
showmasterstatus;
[root@wwlinux701logs]#mysql-uroot-p123456aming
grantreplicationslaveon*.*to'repl'@192.168.11.131identifiedby'123456';
mysql>grantreplicationslaveon*.*to'repl'@192.168.11.131identifiedby'123456';
QueryOK,0rowsaffected(1.00sec)
mysql>
flushtableswithreadlock;#需要先锁定表
mysql>flushtableswithreadlock;
QueryOK,0rowsaffected(0.11sec)
mysql>
wwlinux701.000001|660619#需要记住这两个参数
这里写图片描述
主从配置-从上操作
安装mysql
查看my.cnf,配置server-id=131,从要求和主不一样从上不需要log_bin,因为只有主才需要二进制文件
修改完配置文件后,启动或者重启mysqld服务
scp192.168.11.130:/tmp*.sql/tmp/
把主上aming库同步到从上mysql库除外的其他库都同步一下
可以先创建aming库,然后把主上的/tmp/mysql.sql拷贝到从上,然后导入aming库
mysql-uroot-p123456
stopslave;
changemastertomaster_host=’192.168.11.130’,master_user=’repl’,master_password=’123456’,master_log_file=’wwlinux701.000001’,master_log_pos=660619;
startslave;
showslavestatus\G#用这个命令监测如果是两个yes就是没问题的
这里写图片描述
还要到主上执行unlocktables;
查看主从同步是否正常
从上执行mysql-uroot
showslavestauts\G
看是否有
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
还需关注
Seconds_Behind_Master:0//为主从延迟的时间
Last_IO_Errno:0
Last_IO_Error:
Last_SQL_Errno:0
Last_SQL_Error:
几个配置参数
主服务器上
binlog-do-db=//仅同步指定的库
binlog-ignore-db=//忽略指定库
从服务器上
replicate_do_db=
replicate_ignore_db=
replicate_do_table=
replicate_ignore_table=
replicate_wild_do_table=//如aming.%,支持通配符%
replicate_wild_ignore_table=
测试主从
主上mysql-uroot-p123456aming
selectcount(*)fromdb;
这里写图片描述
truncatetabledb;
到从上mysql-uroot-p123456aming
selectcount(*)fromdb;
这里写图片描述
主上继续droptabledb;
从上查看db表
主上执行
select*fromuserwhereHost=’localhost’;
mysql>deletefromuserwhereHost=’localhost’;
这里写图片描述
从上执行
select*fromuserwhereHost=’localhost’;
这里写图片描述
oracle数据库如何与mysql数据库交互
可以明确的告诉你,不同数据库之间是不存在所谓的交互关系的!所以Oracle和MySQL数据库之间没法交互(无法在Oracle中查询MySQL,反之亦然)。虽说数据库与数据库之间无办法直接交互,但是可以通过某些手段来变相达到交互的目的。
1、数据库迁移
数据库是用来存储数据的,对于系统而言它是数据落地存储的一种组织方式。现在市面上的数据库种类也很多,比如说有:关系型数据库、非关系型数据库、时序数据库等。Oracle和MySQL都属于关系型数据库,目前在市面上的占有率也是很高的。不少项目在早期和后期的发展过程中,可能会存在架构上的迁移,比如有这些场景:
项目开发语言的更换;
项目所使用的数据库种类更换。
当现有项目的数据库需要变更时,这就涉及到数据的迁移了,此时需要将这个数据库中的数据全部迁移到另一种数据库中,我们通常借助数据导出导入工具来进行迁移。
2、不同系统间通过API进行数据交互
比如项目A使用的是MySQL,项目B使用的是Oracle,两个项目可以借助API来实现数据交互(查询、导出、新增、删除等)。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流~我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!
关于本次如何使用mysql主从配置和mysql id 不建议过长的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。