mycat部署在本地, mysql也在本地的情况下, 连接mycat会报错

ERROR 3009 (HY000): java.lang.IllegalArgumentException: Invalid DataSource:0

原因:

https://www.jianshu.com/p/f15d64fcb2f3

mycat部署在本地以zk方式启动的时候, 初始化zk的时候, ./init_zk_data 会报错:

错误: 找不到或无法加载主类 io.mycat.config.loader.zkprocess.xmltozk.XmltoZkMain

因为是mac系统, 没有权限读取mycat的jar包, 导致zk无法正常加载....弃用, 购买阿里云ecs

关于自增id, 这篇博客讲的可以:

https://blog.csdn.net/yijiayi810/article/details/80094218

macos完全卸载mysql:

https://blog.csdn.net/u012721519/article/details/55002626

踩过的坑:

mycat1.6不支持单库分表;

最少要mycat1.6.5版本才支持单库分表;,

下载地址:

http://dl.mycat.io/1.6.5/

mycat自增主键的解决方案:

https://segmentfault.com/a/1190000015862596?utm_source=tag-newest

https://www.cnblogs.com/chinesern/p/7954373.html

https://blog.csdn.net/yelllowcong/article/details/79073608

忘记root密码;

①关闭服务:

sudo service mysql stop;

②安全模式+免验证启动服务

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
 

  ①新开一个终端,连接服务器:
新开一个终端:
mysql -u root

 ②切换到mysql数据库:
use mysql;
 
③修改密码 
update user set password = password('123456') where user='root';
4.重启mysql;
service mysqld restart; 
 
5.允许所有ip访问:
 
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
 
 
主从复制:

1、配置master(主服务器)

vim /etc/my.cnf
#[必须]启用二进制日志
log-bin=mysql-bin
#[必须]服务器唯一ID,默认是1,一般取IP最后一段
server-id=60
重启
service mysqld restart
 
2.查询master(主服务器)的状态
mysql -uroot -p
show master status;
 

3.在主服务器上创建备份专用帐户

mysql -uroot -p123456 -e "GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';"
mysql -uroot -p123456 -e "flush privileges;"
 

2、配置slave(从服务器)

vim /etc/my.cnf
# 启用二进制日志
log-bin=mysql-bin
#[必须]服务器唯一ID,默认是1,一般取IP最后一段
server-id=35
 

3、重启mysql服务

service mysqld restart
 

4、配置Slave启动主从复制
a、进入到mysql命令窗口之中:mysql -uroot -p123456
b、如果现在你已经启动从主机,先关闭:stop slave;

c、如果停止之后还想重新启动,则必须清除所有的日志信息:flush logs;

d、启动从服务器复制功能

//注意master_log_pos值经常会变化,记得执行如下命令前先执行"show master status;",得到最新的Position列,154数字前后无单引号。
change master to master_host='192.168.1.60',master_user='backup',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=154; start slave;
参数描述:
master_host=主服务器IP
master_user=在主服务器上创建的备份用户名
master_password=备份用户密码
master_log_file=查询master(主服务器)的状态得到的File列的值
master_log_pos=Position列的值
start slave:启动从服务器复制功能
 
 

5、检查从服务器复制功能状态

mysql -uroot -p123456 -e "show slave status\G;" 
 

主要查看以下两项:

Slave_IO_Running: Yes
lave_SQL_Running: Yes

Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。
以上操作过程,主从服务器配置完成。

我在一次配置过程中忘记在主服务器上创建备份用户,Slave_IO_Running 就一直处于“connect”状态;或者防火墙没关闭导致无法连接master服务器。

在b数据库测试a数据库的backup账户是否可用:

mysql -ubackup -p123456 -h192.168.72.210

 
 
相关命令:

mysql -uroot -p123456 -e "GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 'backup'@'%' IDENTIFIED BY '123456';"

mysql -uroot -p123456 -e "flush privileges;"

change master to master_host='11.8.39.198',master_user='backup',master_password='123456',master_log_file='mysql-bin.000003',master_log_pos=120;
start slave;

mysql -uroot -p123456 -e "show slave status\G;"

GRANT ALL PRIVILEGES ON *.* TO 'backup'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

 
学习链接:
 
主主同步:
 
读写分离策略理解:
https://www.cnblogs.com/kevingrace/p/9365840.html

mycat搭建环境的更多相关文章

  1. Mycat搭建负载均衡,读写分离的Mysql集群

    Mycat搭建负载均衡,读写分离的Mysql集群 准备环境 1.mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 2.Mycat-server-1.6.7.4-te ...

  2. Xamarin 跨移动端开发系列(01) -- 搭建环境、编译、调试、部署、运行

    如果是.NET开发人员,想学习手机应用开发(Android和iOS),Xamarin 无疑是最好的选择,编写一次,即可发布到Android和iOS平台,真是利器中的利器啊!好了,废话不多说,就开始吧, ...

  3. AspectJ基础学习之二搭建环境(转载)

    AspectJ基础学习之二搭建环境(转载) 一.下载Aspectj以及AJDT 上一章已经列出了他的官方网站,自己上去download吧.AJDT是一个eclipse插件,开发aspectj必装,他可 ...

  4. app整体搭建环境:tabBar切换不同控制器的封装(自定义导航+自定义uiviewcontroler+系统自带tabbar+自定义tabbarController)

    首先,一个app的搭建环境非常重要.既要实现基本功能,又要考虑后期优化的性能. 现在很多应用不仅仅是系统自带的控制器,由于需求复杂,基本上需要自定义多控制器来管理. 新建一个BasicNavigati ...

  5. [转]phonegap 2.9 IOS Xcode 搭建环境

    phonegap 2.9 IOS Xcode 搭建环境   一:下载phoneGap2.9和安装Xcode5(目前最新版) 选择2.9是因为3.0以上坑爹版本编译神马的要在有网络情况. 二: 下载ph ...

  6. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.7. 配置资源与参数

    2.7.配置资源与参数 2.7.1. 修改主机名称 [root@linuxrac1 ~]# cd /etc/sysconfig [root@linuxrac1 sysconfig]# vi netwo ...

  7. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.6. 安装Oracle所依赖的必要包

    2.6. 安装Oracle所依赖的必要包 2.6.1. 检查Oracle所依赖的必要rpm包 [root@localhost /]#rpm -q binutils compat-libstdc elf ...

  8. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.5. 配置网络

    2.5. 配置网络 2.5.1. 配置网络 Oracle Rac数据库涉及到公用网络和私有网络,因此要做网络划分和IP地址规划,下表列出了要安装的RAC数据库对应的IP地址.主机名以及网络连接类型: ...

  9. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.4. 安装JDK

    2.4.安装JDK 2.4.1.准备JDK 在百度搜索:JDK下载 2.4.2.上传JDK put E:\软件安装文件\jdk-8u11-linux-x64.rpm /home/linuxrac1/D ...

随机推荐

  1. stos指令

    mov ecx,30mov eax,0cccccccchrep stos dword prt es:[edi]stos指令,它的功能是将eax中的数据放入的edi所指的地址中,同时,edi会增加4个字 ...

  2. 2440sd初始化(存储器控制器寄存器的设置)

    #define mem_contrl 0x48000000   //13个寄存器的基地址(看做一个内存块)init_sdram: ldr r0, =mem_contrl               / ...

  3. shell编程题(二)

    计算1-100之和 #!/bin/bash `;do #符号不是单引号 是 1左边的符号 sum=$[$i + $sum ] done echo $sum #!/bin/bash i= n=1 #定义 ...

  4. [golang]golang 汇编

    https://lrita.github.io/2017/12/12/golang-asm/#why 在某些场景下,我们需要进行一些特殊优化,因此我们可能需要用到golang汇编,golang汇编源于 ...

  5. dbutils的环境搭建以及使用

    DBUtils的简单实现方式 第一步.创建Java工程[此处使用的是maven工程]并导入jar包 <!--导入mysql数据库驱动--> <dependency> <g ...

  6. JVM相关文章和GC原理算法

    参考推荐: Java内存模型及GC原理 一个优秀的Java程序员必须了解的GC机制 Android 智能指针原理(推荐) Java虚拟机规范 Java虚拟机参数 Java内存模型 Java系列教程(推 ...

  7. 【微信小程序】scroll-view 的上拉加载和下拉刷新

    1.在微信小程序中,想到 下拉刷新 和 上拉加载,如果是整个页面都拖动的话,可以在页面配置中,配置 enablePullDownRefresh 和 onReachBottomDistance 然后在 ...

  8. [Vue warn]: Avoid using non-primitive value as key

    <el-select v-model="addform.province" placeholder="请选择省份" multiple>        ...

  9. configure-nginx-how-to-handle-500-error-on-upstream-itself-while-nginx-handle 自定义header 传递header 定义拦截器

    应用程序拦截 nginx 拦截 保证 接口返回 https://serverfault.com/questions/859667/configure-nginx-how-to-handle-500-e ...

  10. Xcode: Xcode中Command Line Tools的安装方法

    1. 打开终端: 2. 输入命令: xcode-select --install ,如果出现下图,说明你已经安装过了,下边内容也不用看了 如果出现下图说明还没有安装,点击安装 同意协议: 稍等片刻.. ...