1. 程式人生 > >Mycat Mysql8.0配置詳情

Mycat Mysql8.0配置詳情

首先,安裝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&amp;serverTimezone=UTC"
user="root" password="123456"> <readHost host="hostS2" url="jdbc:mysql://192.168.0.103:3306?useSSL=false&amp;serverTimezone=UTC" user="root" password="123456"/> </writeHost> <writeHost host="hostS1" url="jdbc:mysql://192.168.0.103:3306?useSSL=false&amp;serverTimezone=UTC"
user="root" password="123456"/> </dataHost> 這兩個地方比較重要,採用JDBC連線,當然可以採用 dbDriver="native"方式,不過我建議用JDBC就可以了。 URL :jdbc:mysql://192.168.0.103:3306?useSSL=false&amp;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,這樣比較麻煩,我這邊會按照月份做拆分。最後動態選擇資料來源,如果有需要的,給我留言,我發出來,這個功能是沒包含在該原始碼中的。