admin 管理员组文章数量: 1087136
2024年12月24日发(作者:安装mysql需要安装其他的软件吗)
Windows和Linux系统环境下MySQL
数据库(主从同步)部署
MySQL简介
MySQL属于传统关系型数据库产品,它开放式的架构使得用户选择性很强,同时社
区开发与维护人数众多。其功能稳定,性能卓越,且在遵守GPL协议的前提下,可以
免费使用与修改,也为MySQL的推广与使用带来了更多的利好。在MySQL成长与
发展过程中,支持的功能逐渐增多,性能也不断提高,对平台的支持也越来越多。
MySQL是一种关系型数据库管理系统,关系型数据库的特点是将数据保存在不同的
表中,再将这些表放入不同的数据库中,而不是将所有数据统一放在一个大仓库里,
这样的设计增加了MySQL的读取速度,而且灵活性和可管理性也得到了很大提高。
访问及管理MySQL数据库的最常用标准化语言为SQL结构化查询语言。
一、Win2008服务器环境部署:
1、实验环境
1.1、系统版本
Windows 2008 R2 x64(2台)
1.2、VC运行库
2、下载安装配置
2.1、MySQL官网下载
2.1.1、地址: /downloads/mysql/
2.1.2、选择上图的这个版本就可以把 windows 版的 mysql 最新版本下载下
来,点进去之后并不会立刻下载,而是会跳到下图这个页面,只要点击No
thanks, just start my download.即可
2.2、解压MySQL包配置
2.2.1、下图就是解压好的样子,要自己创建 配置文件。(文件
编码为ANSI编码)
2.2.2、 文件
附件:
2.3、安装启动MySql数据库服务
2.3.1、首先我们以管理员的身份运行 命令控制符,如图,win2008 里面,点
左下方的小圆圈,输入 cmd,在管理提示符上右键选择 以管理员身份运行
2.3.2、进入这个页面后,cd 到 MySQL 的安装目录bin。
3、安装配置
3.3、初始化数据库
命令:mysqld --initialize --console
3.4、默认的密码
初始化数据库后,如图上所示
3.5、安装
命令: mysqld install
3.6、启动服务查看版本
3.6.1、命令:net start mysql
运行如图所示:
3.6.2、查看版本命令
进入安装目录bin文件夹下
mysql --version
3.7、登录数据库
启动服务之后就开始使用数据库了,首先登陆数据库。
命令:mysql -hIP -u 用户名 -p
本机登录:mysql -uroot -p
3.8、重置密码
命令:
mysql> alter user 'root'@'localhost' identified by 'Zhangenhua123';
mysql> flush privileges;
3.9、任意IP连接数据库
命令:
查看:mysql> use mysql; select user,host from user;
更新:mysql> update user set host='%' where host='localhost';
刷新权限:mysql> flush privileges;
4、Navicat for MySQL工具测试连接
4.1、Navicat for MySQL连接测试
4.2、备份还原
4.2.1、备份
4.2.2、还原
4.2.2.1删除db库下test和test1表
4.2.2.2还原测试
4.3、忘记密码重置
进入安装目录下bin
DOS命令执行mysqld -nt --skip-grant-tables
使用mysql -uroot无命令登录
5、主备同步部署
5.1、主节(Master)点配置
5.1.1、修改 Master 的配置文件
vi /etc/
附件:
主
5.1.2、创建用于复制操作的用户
5.1.3、获取主节点当前binary log文件名和位置(position)
命令:mysql> show master status;
6、从节(Slave)点配置
6.1、修改Slave 的配置文件
vi /etc/
附件:
从
6.2、在从(Slave)节点上设置主节点参数
mysql> CHANGE MASTER TO
MASTER_HOST='192.168.36.23',
MASTER_USER='slave',
MASTER_PASSWORD='Zhangenhua123',
MASTER_LOG_FILE='binlog.000001',
MASTER_LOG_POS=1122;
flush privileges;
6.3、开启主从同步
mysql> set global sql_slave_skip_counter=5;
mysql> start slave;
二、CentOS 7服务器环境部署:
1、服务器环境
CentOS 7
2、安装包地址
/downloads/mysql/
3、上传解压
3.1、上传命令:rz
3.2、解压命令:tar -zxvf mysql-8.0.16-el7-x86_
4、安装到 /usr/local/mysql 下
命令:mv mysql-8.0.16-el7-x86_64 /usr/local/mysql
5、添加mysql 组和用户
命令:
groupadd mysql
useradd -r -g mysql mysql
6、修改相关权限
进入/usr/local目录
命令:
chown -R mysql:mysql mysql
(备注: CentOS6环境需安装依赖包yum -y install libaio numactl)
7、mysql初始化
进入/usr/local/mysql目录
命令:
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --
datadir=/usr/local/mysql/data
8、查看生成的文件
命令:cd /etc/
ls |grep
9、编辑
附件:
10、配置mysql环境变量
命令:vi /etc/profile
在最后增加内容
export MySQL_HOME
MySQL_HOME=/usr/local/mysql
export PATH=$PATH:$MySQL_HOME/lib:MySQL_HOME/bin
刷新命令:source /etc/profile
11、设置为开机自启动项
生产服务文件
命令:cp -p /usr/local/mysql/support-files/
/etc/init.d/mysql
添加可执行权限
命令:chmod +x /etc/init.d/mysql
注册启动服务
chkconfig --add mysql
12、开启服务进入数据库
命令:service mysql start
进入数据库
命令:mysql -uroot -p
13、重置密码赋值远程登录
13.1、重置密码
命令:
mysql> alter user 'root'@'localhost' identified by 'Zhangenhua123';
mysql> flush privileges;
13.2、任意IP连接数据库
命令:
查看:mysql> use mysql; select user,host from user;
更新:mysql> update user set host='%' where host='localhost';
刷新权限:mysql> flush privileges;
14、防火墙开放3306端口
14.1、Centos 7 防火墙打开3306端口号
命令:firewall-cmd --zone=public --add-port=3306/tcp --permanent
14.2、重启firewall
命令:firewall-cmd --reload
15、MySQL管理工具
15.1、Navicat for MySQL工具测试连接
16、MySQL密码重置方法
编辑/etc/文件中增加skip-grant-tables
无密码登录测试
17、MySQL主备同步部署
17.1、MySQL 主从复制的原理
Master将数据改变记录到二进制日志(binary log)中,也就是配置文件log-
bin指定的文件, 这些记录叫做二进制日志事件(binary log events);
Slave 通过 I/O 线程读取 Master 中的 binary log events 并写入到它的中继
日志(relay log);
Slave重做中继日志中的事件, 把中继日志中的事件信息一条一条的在本地执
行一次,完 成数据在本地的存储, 从而实现将改变反映到它自己的数据(数据
重放)。
17.2、主节(Master)点配置
17.
2.1、修改 Master 的配置文件/etc/
附件:
主
17.
2.2、创建用于复制操作的用户
17.
2.3、获取主节点当前binary log文件名和位置(position)
17.3、从节(Slave)点配置
17.
3.1、修改Slave 的配置文件/etc/
附件:
从
17.
3.2、在从(Slave)节点上设置主节点参数
mysql> CHANGE MASTER TO
MASTER_HOST='192.168.36.13',
MASTER_USER='slave',
MASTER_PASSWORD='Zhangenhua123',
MASTER_LOG_FILE='binlog.000010',
MASTER_LOG_POS=1556;
flush privileges;
17.
3.3、开启主从同步
mysql> set global sql_slave_skip_counter=5;
mysql> start slave;
17.
3.4、手动同步
17.
3.4.1、从节(Slave)没有db数据库新建空库db
17.
3.4.2、首次手动同步配置步骤
17.4、同步表测试
17.5、主从数据库不同步的排查方法
17.5.1、查看主从同步状态(从机)
命令:mysql> show slave statusG
17.
5.2、查看mysql进程(从机)
命令:mysql> show processlist;
17.
5.3、Slave不同步处理步骤
17.
5.3.1、mysql> stop slave;
17.
5.3.2、表示跳过一步错误,后面的数字可变
mysql> set global sql_slave_skip_counter=5;
注:跳过5步错误
17.
5.3.3、mysql> start slave;
17.
5.3.4、mysql> show slave status;
18、MySQL主备切换部署
Keepalived部署配置
18.1、安装keepalived
命令:yum -y install keepalived
18.2、配置文件
18.
2.1、主附件:
主
18
.2.2、备附件:
从
18.4.3、开启服务
命令:systemctl start keepalived
18.4、开机自动运行
命令:systemctl enable keepalived
18.5、防火墙开启vrrp 协议
主备服务器运行命令:
(1) firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --
in-interface ens33 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
注:ens33是服务器网卡接口名
(2)firewall-cmd --reload
重新载入防火墙
18.6、模拟故障切换测试
18. 6.1、主keepalived服务正常测试
主服务器获得VIP地址
从服务器没有获取VIP地址
18. 6.2、主keepalived服务异常测试
主服务器停止keepalived服务VIP地址漂移
从服务器获得VIP地址
18. 6.3、主keepalived服务恢复测试
主服务器夺取VIP地址
从服务器失去VIP地址
18.6.4、切换过程网络丢一个包
版权声明:本文标题:Windows和Linux系统环境下MySQL数据库(主从同步)部署 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1735091346a1633295.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论