十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、MySQL 主从库安装
成都创新互联公司自成立以来,一直致力于为企业提供从网站策划、网站设计、成都网站建设、成都做网站、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
1、进入 https://www.mysql.com 后点击DOWNLOADS 进入下载页面。
2、进入下载页面后,选择 MySQL Community(GPL)Downloads.
3、进入 MySQL Community(GPL) Downloads后选择 MySQLCommunity Server.
4、选择操作系统为Windows 此时最新的版本已经为8.0.19 可直接点击Download下载,为了保证稳定性,本次环境安装选择5.7.29版本,点击Looking for previous GA version?下载历史版本。
5、注意选择数据库版本、操作系统、以及软件位数选择;
6、选择正确后直接点击下载即可。
7、下载完成的软件直接解压后放置在不包含中文路径的文件夹下(自行新建my.ini文件)。
8、修改my.ini中数据如下(设置service-id 值以及 log-bin 值为后续主从搭建做准备), server-id表示唯一的标识某个数据库实例,若未配置log-bin则在执行show start master 后会出现 Empty set (0.01 sec)。
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
server-id = 1
#启用二进制日志
log-bin=mysql-bin
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\MySQL Server 5.7.29\mysql-5.7.29-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\MySQL Server 5.7.29\mysql-5.7.29-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
9、MySQL环境变量配置(计算机右键->属性->高级系统设置->环境变量)PATH中加入
;D:\MySQL Server 5.7.29\mysql-5.7.29-winx64\bin;
10、进入MySQL存放路径,在文件夹空白处,按住shift键后鼠标右键单击,出现“在此处打开命令窗口”,后进入CMD窗口。
11、在相应的CMD窗口中输入:mysqld --install master --defaults-file=" D:\MySQL Server 5.7.29\mysql-5.7.29-winx64\my.ini" 进行安装,出现Service successfully installed,说明服务安装成功。注: 红色字体的master为主库mysql的服务名称,路径部分需根据各自情况自行进行修改。
也可能出现报错缺少计算机丢失MSVCP120.dll只需前往微软官网 https://www.microsoft.com/zh-CN/download/details.aspx?id=40784 下载Visual C++ redistributable Packages for Visual Studio 2013安装后重新执行MySQL安装即可。
12、继续在当前CMD窗口执行 net start master 启动服务出现以下内容表示服务启动成功,至此主库安装完成,可以使用nactive连接对应的数据库,注用户名:root 、密码:空、 端口为my.ini中设置的端口。
13、连接主库无误后,接下来创建从库。复制一份主库文件,修改文件名为源文件夹名+从库需要设置的端口号,注:此处可根据个人情况修改,以两个数据库源文件之间容易区分为准。
14、从库文件复制成功后,进入D:\MySQL Server 5.7.29\mysql-5.7.29-winx64-3307 修改my.ini为以下文件,标红的需要注意,若service-id与主库一致时,启动主从关系时会报(Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.),端口也需要修改否则执行安装时会报错,log-bin值也需设定否则会报错( Got fatal error 1236 from master when reading data from binary log)。
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
server-id = 2
#启用二进制日志
log-bin=mysql-bin
#设置3307端口
port = 3307
# 设置mysql的安装目录
basedir=D:\MySQL Server 5.7.29\mysql-5.7.29-winx64-3307
# 设置mysql数据库的数据的存放目录
datadir=D:\MySQL Server 5.7.29\mysql-5.7.29-winx64-3307\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
15、修改 D:\MySQL Server 5.7.29\mysql-5.7.29-winx64-3307\auto.cnf中uuid值,由于是拷贝过来的如果不修改与主库的值一致,搭建主从时会报错 (Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.)。
[auto]
server-uuid=39e646a2-59f0-11ea-bf0b-14dae9636b20
16、参考安装主库步骤 9、10、11、12,安装备库服务并启动从库服务。
mysqld --install slave --defaults-file="D:\MySQL Server 5.7.29\mysql-5.7.29-winx64-3307\my.ini"
net start slave
17、连接主库成功后使用nactive 工具给主库创建一个名称为sync用于主从同步的用户,服务器权限需要全勾选。
也可以使用命令行创建用户示例语句如下:
create user sync;
grant replication slave on *.* to ' sync'@'127.0.0.1'identified by ' sync';
flush privileges;
二、主从关联
1、在主库命令列界面中执行 show master status; 并记住File列以及Position列对应的值,后续在从库中关联主库时会使用。
2、打开从库的命令列界面,执行
change master to master_host='127.0.0.1',master_port=3306,master_user='sync',master_password='sync',
master_log_file=' mysql-bin.000004',master_log_pos= 1924;
3、在从库中执行命令 start slave; 开启主从同步。
4、在从库中执行show slave status \G; 带换行的或者 show slave status不带换行的查看salve的状态。Slave_IO_Running 、Slave_SQL_Running 状态为YES即可。
5、接下来就可以在主库中进行增删改了,在从库中查看效果,从库最好单独创建一个拥有查询的用户进行查询。
三、附加信息
1、查看server_id 命令:show variables like 'server_id';
2、从库与主库可以多次进行关联,执行stop slave;后进行关联
change master to master_host='127.0.0.1',master_port=3306,master_user='sync',master_password='sync',
master_log_file=' mysql-bin.000004',master_log_pos= 1924;
注意修改
master_log_file
和
master_log_pos
以及其他配置信息
最后在执行start salve;即可。