2019年8月20日成长题目

如何查看数据库是否全表扫描?

sql的执行计划。

执行计划是什么?

  执行计划,简单的来说,是SQL在数据库中执行时的表现情况,通常用于SQL性能分析,优化等场景。在MySQL中使用 explain 关键字来查看。

 

mysql的主从复制怎么配置的

Mysql 主从复制配置

主数据库:192.168.1.1
从数据库:192.168.1.2
注意事项
确保主数据库的mysql能够给外网访问,也就是使用Navicat等软件能够连接的上才行。如果使用宝塔就要到端口那里放行3306端口

主数据库配置:

1. 创建一个用户

   GRANT REPLICATION SLAVE,FILE ON *.* TO 'mstest'@'192.168.1.2' IDENTIFIED BY '123456';

192.168.1.2:是运行使用该用户的ip地址
mstest:是新创建的用户名
123456:是新创建的用户名的密码

2. 修改mysql的配置文件,my.cnf(window系统时my.ini)
server-id=1
binlog-do-db=czc #这个是需要同步的数据库 ,czc是一个数据库,自行先创建
完成后输入命令show master status查看一下是否成功

 
微信截图_20190111144432.png

 

从数据库配置:

如果mysql的版本大于5.5

打开mysql.in添加下面值

       server-id=2
    master-host=192.168.1.1 //主数据库的ip     master-user=mstest   //第一步创建账号的用户名     master-password=123456 //第一步创建账号的密码     master-port=3306     master-connect-retry=60     replicate-do-db=czc //要同步的mstest数据库,要同步多个数据库,就多加几个replicate-db-db=数据库名 

mysql的版本小于5.5

打开mysql.ini添加一个server_id,随便写一个不重复的id

 
server_id

因为小于5.5的不能使用直接配置的方法,只能采用命令行的方式配置

 

CHANGE MASTER TO MASTER_HOST='118.25.2437.342',MASTER_PORT=3306,MASTER_USER='mstest',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000015',MASTER_LOG_POS=606;

这里的参数都是对照主数据库的信息填写的

slave start;
show slave status\G;
 
微信截图_20190111144826.png

看这几项是否出现,出现表示成功了。可自行在主数据库里面添加修改数据测试

 

分布式锁解决并发的三种实现方式

  • 在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。有的时候,我们需要保证一个方法在同 一时间内只能被同一个线程执行。在单机环境中,Java中其实提供了很多并发处理相关的API,但是这些API在分布式场景中就无能为力了。也就是说单纯的Java Api并不能提供分布式锁的能力。所以针对分布式锁的实现目前有多种方案:

    分布式锁一般有三种实现方式:

    • 1、 数据库锁
    • 2、基于Redis的分布式锁
    • 3、基于ZooKeeper的分布式锁

转载于:https://www.cnblogs.com/whymoney1000/p/11383244.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值