win10 mysql5.7多装+主从配置

mysql多装

1.卸载系统mysql服务

mysqld -remove MySQL57-3307

安装服务

"G:\mysql\mysql5.7-3307\bin\mysqld.exe" -install MySQL57-3307 --defaults-file="G:\mysql\mysql5.7-3307\my.ini"

路径错了卸载服务重新安装

G:\MySQL\mysql5.7-3307\bin\mysqld.exe remove MySQL57-3307

"G:\mysql\mysql5.7-3307\bin\mysqld.exe" --initialize --user=mysql --console

2.修改配置文件,看着改port 、basedir、datadir

#设置mysql客户端默认字符集

[mysqld]

character_set_server=utf8

#设置3306端口

port = 3308

#设置mysql的安装目录

basedir="G:/mysql/mysql5.7-3308"

#设置mysql数据库的数据的存放目录

datadir="G:/mysql/mysql5.7-3308/data"

#允许最大连接数

explicit_defaults_for_timestamp=true

max_connections=200

#服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

#创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

#设置sql语法模式

sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

重启mysql服务(下面是新安装的数据库,配置下密码)

mysql -u root -p

mysql> create user 'sync'@'%' identified by 'root';# 5.7要求密码必须含有大小写英文,符号和数字

mysql> grant FILe on *.* to 'sync'@'192.168.1.111' identified by 'root';#赋予FILE权限,允许从从库ip访问主库

mysql> grant replication slave on *.* to 'sync'@'192.168.1.111' identified by 'root'; #赋予主从同步权限

mysql> flush privileges;

service mysqld restart #重启MySQL(这一行是在linux上打的)

mysql -u root -p

mysql多装就上面两步就好!!!

mysql主从配置

1.主库配置

flush tables with read lock;


修改配置文件

server-id=110 #设置主服务器的ID(不能和别的服务器重复,建议使用ip的最后一段)

innodb_flush_log_at_trx_commit=2  #可以配置的值:0/1/2; 0、效率最高,最不安全;1、最安全,但是效率最低;2、安全和效率平衡的取舍,在服务器系统挂掉的情况下会丢失数据;

sync_binlog=1  #,值可设置 1、500、1000;可自己根据测试性能配置

log-bin=mysql-bin  #binlog日志文件名

binlog-ignore-db=mysql # 表示不同步mysql库

binlog-ignore-db=information_schema # 表示不同步information_schema库

binlog-ignore-db=performance_schema

binlog-ignore-db=sys

binlog-do-db=xxxx  # 这个表示只同步某个库 (如果没有此项,表示同步所有的库)

#mysql复制模式,三种:SBR(基于sql语句复制),RBR(基于行的复制),MB(混合模式复制)

binlog_format=MIXED #混合模式复制,可靠性更高


拷贝数据库需要一个%权限的账号

grant all privileges on *.* to root@"%" identified by "Passwd"

mysql> show master status; #查看主库的状态  file,position 这两个值很有用,记一下;需要放到slave配置中

2.从数据库配置

server-id=111

#log-bin=mysql-bin #从库提高性能可以不开bin-log日志

replicate-ignore-db=mysql  #配置不需要复制的库mysql

replicate-ignore-db=information_schema

replicate-ignore-db=performance_schema

replicate-ignore-db=sys

replicate_do_db=python #标记出需要同步的数据库名,在多从配置时可以按需配置

innodb_flush_log_at_trx_commit=2 # 可以配置的值:0/1/2; 0、效率最高,最不安全;1、最安全,但是效率最低;2、安全和效率平衡的取舍,在服务器系统挂掉的情况下会丢失数据;

sync_binlog=1000 # 每进行n次事务提交之后,MySQL将binlog_cache中的数据强制写入磁盘。

slave_parallel_workers=4 #根据实际情况决定开启多少个线程用于主从复制

slave_parallel_type=logical_clock #基于组提交的并行复制方式

master_info_repository=TABLE

relay_log_info_repository=TABLE

relay_log_recovery=ON

#mysql复制模式,三种:SBR(基于sql语句复制),RBR(基于行的复制),MB(混合模式复制)

binlog_format=MIXED #混合模式复制,可靠性更高

2.配置完成后,重启从库的MySQL;

service mysqld restart #重启MySQL(这句是在linux打的)

 mysql -u root -p #登录mysql

mysql> stop slave; #关闭从库(这句是在失败的情况下打的,一开始可以不用打)

mysql> change master to master_host='192.168.172.110', master_user='sync' ,master_password='Sync@0000', master_log_file='mysql-bin.00001' ,master_log_pos=156,Master_Port=3307; #配置主库信息,主库ip,账号,密码,端口及主库  show master status; 这句命令时看的file,position

mysql> start slave; #开启从库

mysql> show slave status \G; #Slave_IO_Running,Slave_SQL_Running 都为Yes的时候表示配置成功

Slave_IO_Running: YesSlave_SQL_Running: Yes如果这两个参数的值都是yes,则运行正常,可以在master数据库上添加一个数据库或者添加一张表,检查slave数据库上是否存在。

设置从库只读

set global read_only=1;

主数据库打unlock tables;

你可能感兴趣的:(win10 mysql5.7多装+主从配置)