如果原来有mysql
可以先把原数据库进行备份防止数据丢失
在cmd界面进入到mysql文件的bin目录
执行以下语句,导出sql语句
mysqldump.exe -h localhost -uroot -p affairs > D:/shop.sql
1)需要配置环境变量,并停用以前的mysql环境变量
2)复制新的mysql中的my-default.ini为my.ini作为配置文件
3)进入新的上一步的my.ini添加配置
在[mysqld]下配置
#端口号
port 3307
#安装目录
basedir=D:\mysql_server_5.6.24
#运行目录
datadir=D:\mysql_server_5.6.24\data
#日志配置 如果配置此项需要事先将目录建好
log-error=D:\MysqlServer5.6\logs\error.log
log=D:\MysqlServer5.6\logs\mysql.log
long_query_time=2
log-slow-queries=D:\MysqlServer5.6\logs\slowquery.log
以管理员权限打开cmd
如果之前打开过cmd需要重新关闭重新打开
跳转到mysql的bin目录 安装
mysqld -install (服务器上只有一个mysql的情况)
如果有mysql,需要执行以下命令指定配置文件目录
D:\Mysql_Server_5.6.24\bin>mysqld.exe install mysql2 --defaults-file="D:\Mysql_Server_5.6.24\my.ini"
如果成功会有以下提示:
Service successfully installed.
然后重启新的mysql2
D:\Mysql_Server_5.6.24\bin>net start mysql2
net start mysql 启动mysql服务
net stop mysql 停止mysql服务
(此配置可以不添加)Windows 添加服务: [ 防止2个mysql服务冲突 ]
( 安装路径)
sc create mysql2server binPath= "E:\MysqlServer5.6\bin\mysqld.exe"
(是否自动开启)
TYPE= "own" start= "auto"
TAG= "no" Display
Name= "mysql2server SERVICES
1,添加一个mysql主从复制需要的用户账号
在数据库中 新建查询中使用
GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*
TO mysql_backup@'%'
IDENTIFIED BY '123456';
刷新权限
flush privileges;
删除从服务器的用户只留下一个用户root
刷新权限
flush privileges;
2,配置主服务器
mysql配置文件加入:
server-id=1(必须要有 为服务器A的id)
log-bin=mysql-bin(二进制便跟日志)
binlog_ignore_db=mysql # mysql这个库不同步
binlog_do_db=test # 要同步的数据库(可不填)
重启master,reset master 慎用:会清空所有的日志文件
运行
SHOW MASTER STATUS 加\G 会输出以下格式
3,配置从服务器在从服务器的mysql配置中
port = 3307
log_bin = mysql-bin
server_id = 2(服务器B的id)
relay_log = mysql-relay-bin(中继日志)
read_only = 1 (设置权限 只有查的权限)
在数据库中 从服务器新建查询
停止从库
stop slave status
连接主库
CHANGE MASTER TO master_host = '127.0.0.1',
master_user = 'mysql_backup',(账号)
master_password = '123456',(密码)
master_log_file = 'mysql-bin.000001',
master_log_pos = 120 (这两个可以再主库中 执行 show master status 看到)
启动从库
start salve
查看从库状态
show slave status
如果io线程 与 sql线程 都是yes 就完成了