(安装jdk)
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/7/\$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
EOF
yum repolist enabled | grep mysql
sudo yum install -y mysql-community-server
sudo service mysqld start
sudo grep ‘temporary password’ /var/log/mysqld.log
PASSWORD=sudo grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}'
mysql -uroot -p$PASSWORD
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘Lazy_123!’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘Lazy_123!’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
安装JDK并配置环境变量
server.xml是Mycat服务器参数调整和用户授权的配置文件
schema.xml是逻辑库定义和表以及分片定义的配置文件
rule.xml是分片规则的配置文件
root
bigdata
root
bigdata
true
select user()
select user()
select user()
然后在每一个database中创建表,有三张(travelrecord、company、hotnews)注意主键的名称
[centos@s201 /soft/mycat]$bin/mycat start
jps
端口:8066
lazy
root
campany:全局表,所有节点都有数据
travelread: 按范围插入
host:id自增, id哈希
mysql -uroot -pLazy_123!
mysql -h 192.168.10.104 -P 8066 -u root -p123456
主从数据库版本一致
主从数据库名称一致
主server和server_id必须唯一
在[mysqld]段下添加:
#主从复制的数据库的名字
binlog-do-db=master
#忽略mysql数据库
binlog-ignore-db=mysql
#启用二进制日志
log-bin=mysql-bin
#服务器唯一ID,一般取IP最后一段
server-id=16
sudo service mysqld restart
mysql> FLUSH PRIVILEGES;
mysql> show master status;
注意:这里会生成二进制文件,mysql-bin.000004,指明了position为120,Binlog_Do_DB是master,小编就在这里出了错误,修改了my.conf后,没有重新启动mysql的服务,就没有产生新的二进制文件。
[mysqld]
server-id=17
mysql>change master to master_host=‘192.168.255.202’,master_port=3306,master_user=‘root’,master_password=‘Lazy_123!’,master_log_file=‘mysql-bin.000003’,master_log_pos=306;
1
注意语句中间不要断开,master_port为mysql服务器端口号(无引号),master_user为执行同步操作的数据库账户,“120”无单引号(此处的120就是show master status 中看到的position的值,这里的mysql-bin.000001就是file对应的值)。
Mysql>start slave;
mysql> show slave status
……………………(省略部分)
Slave_IO_Running: Yes //此状态必须YES
Slave_SQL_Running: Yes //此状态必须YES
……………………(省略部分)
balance:决定了哪些MySQL服务器参与到读SQL的负载均衡中,
1为全部的readHost与standby writeHost参与select语句的负载均衡
WriteType参数设置:
writeType=“0”, 所有写操作都发送到可用的writeHost上。
switchType 目前有三种选择:
2 :基于MySQL主从同步的状态决定是否切换
select user()