mysql8以上配置主从复制以及windows同时部署两台mysql
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql8以上配置主从复制以及windows同时部署两台mysql,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6002字,纯文字阅读大概需要9分钟。
内容图文
![mysql8以上配置主从复制以及windows同时部署两台mysql](/upload/InfoBanner/zyjiaocheng/904/6892ba9a983741a2af7cd0246fb09b98.jpg)
(一)同时部署两台mysql数据库 mysql-8.0.15
部署主数据库:
1.使用代码编辑器eclipse,idea 创建my.txt 文件 在文件中编写内容为 编辑完成之后将文件格式保存成US-ASCII编码
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=F:\mysql-8.0.15-winx64
# 设置mysql数据库的数据的存放目录
datadir=F:\mysql-8.0.15-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#主库和从库需要不一致
server-id=1
log-bin=mysql-bin
#同步的数据库
binlog-do-db=test
#不需要同步的数据库
binlog-ignore-db=mysql
2.将改好的配置文件后缀名改为ini,然后放到mysql解压后的bin目录下(路径可以更改)
3.以管理员身份运行cmd 到mysql解压后的bin目录下运行如下命令:
mysqld --initialize --user=mysql --console
运行完成之后控制台会创建一个root的变态随机密码复制下来
4.安装MySQL服务,以管理员身份运行cmd到解压后的bin目录下,并输入mysqld install MySQL --defaults-file="F:\mysql-8.0.15-winx64\bin\my.ini",其中的路径为你正式的ini文件。
5.运行cmd,输入net start mysql启动MySQL服务,再输入mysql -u root -p,然后输入临时密码
6.要想使用mysql 必须重新修改密码mysql8以下的使用set password = password('新密码'); mysql8以上的使用 ALTER USER "root"@"localhost" IDENTIFIED BY "你的新密码";
如果要修改远程连接等 则需要另外设置https://www.cnblogs.com/wangbodang/p/10819298.html
同样配置从数据库:和主数据库配置一样只需要修改几个地方就可以
1.编写my.ini 配置文件并且放到从数据库解压的目录下注:(端口号,server-id,mysql安装目录,数据存放目录和主数据库不一致)
![mysql8以上配置主从复制以及windows同时部署两台mysql - 文章图片](/upload/getfiles/0001/2021/5/9/20210509012141729.jpg)
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3308
# 设置mysql的安装目录
basedir=F:\mysql-8.0.15slave-winx64
# 设置mysql数据库的数据的存放目录
datadir=F:\mysql-8.0.15slave-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#主库和从库需要不一致
server-id=2
log-bin=mysql-bin
#同步的数据库
binlog-do-db=test
#不需要同步的数据库
binlog-ignore-db=mysql
![mysql8以上配置主从复制以及windows同时部署两台mysql - 文章图片](/upload/getfiles/0001/2021/5/9/20210509012141729.jpg)
3.以管理员身份运行cmd 到mysql解压后的bin目录下运行如下命令:
![mysql8以上配置主从复制以及windows同时部署两台mysql - 文章图片](/upload/getfiles/0001/2021/5/9/20210509012141729.jpg)
mysqld --initialize --user=mysql --console
![mysql8以上配置主从复制以及windows同时部署两台mysql - 文章图片](/upload/getfiles/0001/2021/5/9/20210509012141729.jpg)
运行完成之后控制台会创建一个root的变态随机密码复制下来
4.安装MySQL服务,以管理员身份运行cmd到解压后的bin目录下,并输入mysqld install MySQLslave --defaults-file="F:\mysql-8.0.15slave-winx64\bin\my.ini",其中的路径为你正式的ini文件注:(服务名字和主数据库服务名必须不一致) 。
5.运行cmd,输入net start mysqlslave启动从数据MySQL服务,再输入mysql -u root -p,然后输入临时密码 然后修改密码
(二)配置主从复制
1.登录主数据库后创建同步用户注:(mysql8以上版本创建用户时指定加密方式如下)
![mysql8以上配置主从复制以及windows同时部署两台mysql - 文章图片](/upload/getfiles/0001/2021/5/9/20210509012141729.jpg)
mysql> CREATE USER 'slave'@'%' IDENTIFIED WITH 'mysql_native_password' BY '123456'
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' ;
mysql> FLUSH PRIVILEGES;
![mysql8以上配置主从复制以及windows同时部署两台mysql - 文章图片](/upload/getfiles/0001/2021/5/9/20210509012141729.jpg)
完成之后运行
然后查询主数据库状态,并记录下File和Position字段的值
mysql> show master status; +------------------+----------+--------------+--------------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+--------------------------+-------------------+ | mysql-bin.000001 | 100 | test | mysql | | +------------------+----------+--------------+--------------------------+-------------------+ 1 row in set (0.02 sec)
2.登录从数据库然后执行如下命令:
stop slave;
设置master信息其中 master_log_file,master_log_pos的值为主数据库状态对应的值
change master to master_host='192.168.1.84', master_port=3306, master_user='slave', master_password='123456', master_log_file='mysql-bin.000001', master_log_pos=100;
运行命令:
start slave;
查看从库连接主库状态:
show slave status \G
结果为:
mysql> show slave status \G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.84
Master_User: slave
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 2231
Relay_Log_File: SC-2016551520-relay-bin.000001
Relay_Log_Pos: 906
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 100
Relay_Log_Space: 1122
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_UUID: bb969d1a-43bc-11e9-b6d4-88d7f6c7fea0
Master_Info_File: mysql.slave_master_info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for more up
dates
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
Replicate_Rewrite_DB:
Channel_Name:
Master_TLS_Version:
Master_public_key_path:
Get_master_public_key: 0
1 row in set (0.00 sec)
当Slave_IO_State的值为:Waiting for master to send event 表示成功
内容总结
以上是互联网集市为您收集整理的mysql8以上配置主从复制以及windows同时部署两台mysql全部内容,希望文章能够帮你解决mysql8以上配置主从复制以及windows同时部署两台mysql所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。