首先,安装Msyql8.0的时间要使用Mysql5.0的验证方式,
其实也就是my.ini中采用这种密码验证方式,至于如何设置,这里就不说了。度娘可以解决你的问题。default_authentication_plugin=mysql_native_password
下面我会附上下载地址,其中schema.xml中 checkSQLschema 我在源码中忘记修改了。
<schema name="monthdatadb" checkSQLschema="true" sqlMaxLimit="100"> checkSQLschema="true" checkSQLschema 这个必须修改成true
=======================================
源码中pom.xml中已经修改了MYSQL8.0的驱动 注意使用mysql8.0.12的一些问题 1.schema.xml中的下面的配置: <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="hostM1" url="jdbc:mysql://192.168.0.103:3306?useSSL=false&serverTimezone=UTC" user="root" password="123456"> <readHost host="hostS2" url="jdbc:mysql://192.168.0.103:3306?useSSL=false&serverTimezone=UTC" user="root" password="123456"/> </writeHost> <writeHost host="hostS1" url="jdbc:mysql://192.168.0.103:3306?useSSL=false&serverTimezone=UTC" user="root" password="123456"/> </dataHost> 这两个地方比较重要,采用JDBC连接,当然可以采用 dbDriver="native"方式,不过我建议用JDBC就可以了。 URL :jdbc:mysql://192.168.0.103:3306?useSSL=false&serverTimezone=UTC dbDriver="jdbc" 2.源码中细节修改 SystemConfig.java 中增加8.0 public static final String[] MySQLVersions = {"5.5", "5.6", "5.7", "8.0"}; private int useHandshakeV10 = 1;修改为1,不然你用JDBC连接MYCAT的时间连接不上 3.测试,我用的是JdbcTemplate来测试的,当然你可以自己用JDBC连接方式来测试。 String driver = "com.mysql.cj.jdbc.Driver";//非常重要 String url = "jdbc:mysql://localhost:8066/monthdatadb?useSSL=false&serverTimezone=UTC"; String username = "root"; String password = "123456"; DriverManagerDataSource ds = new DriverManagerDataSource(); ds.setDriverClassName(driver); ds.setUrl(url); ds.setUsername(username); ds.setPassword(password); JdbcTemplate jdbcTemplate = new JdbcTemplate(); jdbcTemplate.setDataSource(ds); List list = jdbcTemplate.queryForList("select * from teacher "); System.out.println(list.size());
特别重要的是有一点,你必须拿一定的时间去研究过Mycat,2天左右应该足够,多去查下资料,如果你没研究过,很多配置你根本不了解。
我做了这样一个功能,最后几个月数据自动选择数据源。因为我们数据量比较大,他这个按照月份分表的方式会有一个问题,你需要经常去自己维护mycat。超过了数据源就找不到dn,这样比较麻烦,我这边会按照月份做拆分。最后动态选择数据源,如果有需要的,给我留言,我发出来,这个功能是没包含在该源码中的。
源码下载地址 https://download.youkuaiyun.com/download/yangshuai518/10595358