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、切换过程网络丢一个包


本文标签: 数据库 服务 服务器 安装 测试