由于我的 centos 版本是 aarch64 版本
安装链接:
1、aarch64 版本 linux 系统安装 mysql
2、安装完成之后是不能用 navicat 进行直接访问的,需要如下设置:
mysql -uroot -proot(明文登陆,记得 -uroot 和 -proot之间不能有空格)
show databases;(查看所有数据库)
use mysql;(切换 mysql 数据库)
show tables;(展示所有表)
select user,password,host from user;(查看用户名,密码,主机)
grant all privileges on *.* to 'root'@'%' identified by '你的mysql密码' with grant option;(执行命令授权所有 ip 可以登陆,默认只有本机可以访问登陆;)
例如我的密码是root:grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;(刷新权限)
mysql 主从复制搭建:
1、架构规划;首先准备两台服务器,由于之前创建了一台 centos 服务器,直接 【克隆复制链接模式】创建两台服务器,一主一从;
master:192.168.23.132
slave:192.168.23.133
2、修改 mysql 的配置文件
vim /etc/my.cnf
3、分别在配置文件中加入如下配置
mysql(master)
server-id=1
log-bin=mysql-bin
log-slave-updates
slave-skip-errors=all
mysql(slave)
server-id=2
log-bin=mysql-bin
log-slave-updates
slave-skip-errors=all
注意:两个机器的server-id不能一致!!!放在 [mysqld]下面,我放在最后面不好使!
4、重启 mysql 服务
systemctl restart mysqld
由于我这里装的是 mariadb,所以执行的是 systemctl restart mariadb
5、登陆 mysql 执行如下命令检测配置是否生效
show VARIABLES like 'server_id';
6、登陆 master 主节点执行如下命令:
show master status;
File | Position |
---|---|
mysql-bin.000001 | 245 |
7、登陆 slave 从节点执行如下命令:(注意不要改错!!!)
change master to
master_host='192.168.23.132',
master_user='root',
master_password='root',
master_log_file='mysql-bin.000001',
master_log_pos=245;
8、开启从节点
start slave;
stop slave; #停止从节点,不想开启从节点执行命令
9、查看从节点状态
show slave status\G; #\G表是格式化
出现如下错误检查
1、IO 通信问题,首先检查防火墙是否关闭了;
2、注意:如果出现 Slave I/O:Fatal error:This Slave I/O thread stops because…如上所示的错误,请执行如下命令:rm -rf /var/lib/mysql/auto.cnf 删除这个文件,之所以会出现这样的问题,是因为我的从库主机是克隆的主库所在的主机,所以 auto.cnf 文件中保存的 UUID 会出现重复。
检查是否同步:
master执行:
从节点查看同步效果:
MyCat搭建,配置主从同步
1、下载链接:MyCat官网下载;本次演示下载的是 1.6 版本
2、修改 MyCat 配置文件:
配置 schema.xml(删除里面不必要的注释文件)
<!-- 定义 MyCat 的逻辑库,dataNode 代表映射的真实数据节点 -->
<schema name="logicDataBase" checkSQLschema="false" sqlMaxLimit="100" dataNode="emsNode"></schema>
<!-- 定义 MyCat 的数据节点,name:名字必须和 dataNode 值一致,dataHost:映射真实主机,database:映射真实的库 -->
<dataNode name="emsNode" dataHost="emsHost" database="ems" />
<!-- 定义数据主机,name:名字必须和 dataHost值一致 -->
<dataHost name="emsHost" maxCon="1000" minCon="10" balance="1" writeType="0" dataType="mysql" dbDriver="native" switchType="-1" slaveThreshold="100">
<!-- 心跳检测 -->
heartbeat>select user()</heartbeat>
<!-- 写节点 -->
<writeHost host="hostM1"> url="192.168.23.132:3306" user="root" password="root">
<!-- 从节点 -->
<writeRead host="hostS1"> url="192.168.23.133:3306" user="root" password="root" />
</writeHost>
</dataHost>
配置 server.xml
<system>
<!-- 这里配置的都是一些系统属性,可以自己查看 MyCat 文档 -->
<property name="defaultSqlParser">druidparser</property>
<!-- 5.x版本必须是utf8 -->
<property name="charset">utf8</property>
</system>
<!-- 配置用户信息,name:代表登陆 MyCat用户名,password:代表登陆的密码 -->
<user name="root">
<property name="password">root</property>
<property name="schemas">logicDataBase</property> <!-- 用来指定可以操作的逻辑库 -->
</user>
aarch64虚拟机装多少有点问题