版权声明:技术交流群:758191639 作者支付宝18696232390喜欢的可以打钱! https://blog.csdn.net/u014131617/article/details/86676636
1.安装mysql
#### 首先在node-1、node-2、node-3上安装MySQL
#### 配置MySQL 5.7的yum源
sudo tee -a /etc/yum.repos.d/mysql-community.repo << EOF
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/\$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
EOF
#查看mysql源的信息
yum repolist enabled | grep mysql
#安装mysql的server
sudo yum install -y mysql-community-server
#启动mysql
sudo service mysqld start
#获取启动日志中的默认初始密码
#sudo grep 'temporary password' /var/log/mysqld.log
#获取密码并赋给一个变量
PASSWORD=`sudo grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}'`
#使用root用户登录
mysql -uroot -p$PASSWORD
#修改root用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'XiaoNiu_123!';
#修改mysql远程登录权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'XiaoNiu_123!' WITH GRANT OPTION;
FLUSH PRIVILEGES;
2.安装jdk
略
3.安装mycat
#上传Mycat-server-1.6.5-release-20171008170112-linux.tar.gz安装包
#修改conf目录下主要以下三个注意配置文件
server.xml是Mycat服务器参数调整和用户授权的配置文件
schema.xml是逻辑库定义和表以及分片定义的配置文件
rule.xml是分片规则的配置文件
#修改server.xml(修改了mycat的用户和逻辑的database)
<user name="xiaoniu" defaultAccount="true">
<property name="password">123456</property>
<property name="schemas">bigdata</property>
</user>
<user name="user">
<property name="password">user</property>
<property name="schemas">bigdata</property>
<property name="readOnly">true</property>
</user>
#修改schema.xml(配置逻辑库下的逻辑表,已经数据存放的mysql节点)
<schema name="bigdata" checkSQLschema="false" sqlMaxLimit="100">
<!-- auto sharding by id (long) -->
<table name="travelrecord" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />
<!-- global table is auto cloned to all defined data nodes ,so can join
with any table whose sharding node is in the same data node -->
<table name="company" primaryKey="ID" type="global" dataNode="dn1,dn2,dn3" />
<!-- random sharding using mod sharind rule -->
<table name="hotnews" primaryKey="ID" autoIncrement="true" dataNode="dn1,dn2,dn3"
rule="mod-long" />
</schema>
<dataNode name="dn1" dataHost="node1" database="db1" />
<dataNode name="dn2" dataHost="node2" database="db2" />
<dataNode name="dn3" dataHost="node3" database="db3" />
<dataHost name="node1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="192.168.10.101:3306" user="root" password="XiaoNiu_123!">
</writeHost>
</dataHost>
<dataHost name="node2" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="192.168.10.102:3306" user="root" password="XiaoNiu_123!">
</writeHost>
</dataHost>
<dataHost name="node3" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="hostM1" url="192.168.10.103:3306" user="root" password="XiaoNiu_123!">
</writeHost>
</dataHost>
#在三台mysql上分别创建数据库db1、db2、db3
#然后在每一个database中创建表,有三张(travelrecord、company、hotnews)注意主键的名称
#在node-4上启动mycat
mysql -h 192.168.10.104 -P 8066 -u root -p123456