搭建主从
编辑mysql配置文件
[mysqld]下添加
主:开启二进制日志,用来记录该机更改的数据,以便从机来读取;设置主机ID为1,以便区分服务器
log-bin=mysql-bin
server-id = 1
从:开启中继日志,来获取主机的二进制更改数据信息;设置主机ID为2
relay-log=mysql-relay
server-id = 2
重启2台mysql
home/mysql/support-files/mysql.server restart
主数据库登录mysql进去,查看主机信息
登录从机数据库
执行以下命令(配置主从)
CHANGE MASTER TO MASTER_HOST='192.168.85.111(主机IP)',MASTER_USER='root(数据库用户)',MASTER_PASSWORD='123456(数据库用户登录密码',MASTER_LOG_FILE='mysql-bin.000015(主机file名)',MASTER_LOG_POS=154(主机Position名);
启动从机,查看从机是否配置好
start slave;
show slave status\G;
看到slave_io_running和slave_sql_running都为yes即代表成功。
只要有一个不为yes,那便是失败,原因可能是①数据库的数据不一致,需要数据同步后再建立主从关系;②配置文件错了,查看service-ID(2台服务器不能一样)和二进制、中继日志有没有配置;③主机数据库没启动;④配置主从关系命令错了,需要stop slave,重新配置好在start slave;
验证:
主机:
create database msb;
use msb;
create table test(id int,name varchar(20));
insert into test values(1,"aa");
从机:
show databases;
use msb;
show tables;
select * from test;
在线升级Mysql版本
备份数据:
./home/ck/mysql/bin/mysqldump --no-defaults -h 127.0.0.1 -uroot -B -proot ck(数据库名) > /home/ck.sql
停止服务:
/home/ck/mysql/support-files/mysql.server stop
上传最新包到 /home 下面
解压新包
tar mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
复制新包下的内容替换旧包的:
cp -frp mysql-5.7.37-linux-glibc2.12-x86_64.tar/* /home/mysql
启动服务:
/home/ck/mysql/support-files/mysql.server start
检查表与库是否符合当前版本并更新系统库:
/home/ck/mysql/bin/mysql_upgrade --no-defaults -uroot -proot --socket=/home/ck/mysql/mysql.sock
停止服务:
/home/ck/mysql/support-files/mysql.server stop
启动服务:
/home/ck/mysql/support-files/mysql.server start
查看版本:
/home/ck/mysql/bin/mysql -V
应急(升级失败):卸载这个mysql,重新安装新的并导入数据库备份好的脚本。