先说一下MySql安装
环境变量配置:计算机-属性-高级系统设置
新建MYSQL_HOME变量,并将值设置为D:\Program Files\MySQL\MySQL Server 5.7 。
编辑Path系统变量:在系统变量里,找到Path变量,点击“编辑”按钮,我们将;%MYSQL_HOME%\bin
下载地址:http://dev.mysql.com/downloads/file/?id=467269
2.复制my-default.ini 重命名 my.ini
主表配置如下:
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#安装目录
basedir = D:\mysql-5.7.17-winx64
#数据存放目录 data目录是要单独创建的,记得是个空文件夹
datadir =D:\mysql-5.7.17-winx64\data
#端口
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#最大连接数量
max_connections = 100
#单个内存表的最大值限定
max_heap_table_size = 64M
#为每个线程分配的排序缓冲大小
sort_buffer_size = 8M
#join 连表操作的缓冲大小,根据实际业务来设置,默认8M
join_buffer_size = 32M
#sql查询缓存,如果提交的查询与几次中的某查询相同,并且在query缓存中存在,则直接返回缓存中的结果
query_cache_size = 64M
以管理员身份打开cmd窗口后,将目录切换到你解压文件的bin目录
执行 mysqld -install
继续执行 mysqld --initialize-insecure --user=mysql; —这一步在data目录中生产一些文件
执行 net start mysql 启动服务
停止mysql服务:net stop mysql,再重新启动mysql服务
5.进入mysql 修改root密码
默认的root密码是空的。
执行 mysql -uroot -p
回车进入 默认没密码
切换到数据库mysql
use mysql
修改root密码
这种写法是mysql5.6之前的版本才有的, 5.7 是没有这个列的
查看user表的字段 desc user;
那怎么设置??
使用 set password = password(‘admin’); 来设置密码。 并刷新权限 flush privileges;
重新登录mysql
主库设置:my.ini文件增加如下
#Server Id.
server-id=2
log-bin=mysqld-bin
#使binlog在每N次binlog写入后与硬盘同步
sync-binlog=1
#主库重启File 和 Position之更变加入这段无需更改从库
relay-log=relay-bin
relay-log-index=relay-bin-index
#1天时间自动清理二进制日志
expire_logs_days=1
#需要同步的数据库
binlog-do-db=div
#不需要同步的数据库
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
#进入到mysql的bin目录下,执行
#重启主数据库,然后在主数据库中建立一个备份账户
mysql -h localhost -u root -p
输入密码
进入mysql
mysql>show databases;
mysql>grant replication slave on . to ‘slave_username’@‘121.0.0.0’ identified by ‘slave_password’ ;
mysql>flush privileges;
#显示主服务器的状态信息,并且找到File 和 Position 的值记录下来;
mysql>show master status \G;
cmd执行
use mysql;
select host, user from user;查看属性
update user set host = ‘%’ where user = ‘root’;修改属性
输入:
show master status;
注意这两个值、每次重启服务后值更改、从库也需要重新更改,
从库设置:my.ini
#Server Id,每个库都必须独立的分配id.
server-id=1
log-bin=mysqld-bin
#使binlog在每N次binlog写入后与硬盘同步
sync-binlog=1
#1天时间自动清理二进制日志
expire_logs_days=1
重启服务:
net start mysql启动
net stop mysql关闭
mysql -h localhost -u root -p
change master to master_host=‘121.0.0.0’,master_user=‘root’,master_port=3306,master_password=‘123456’, master_log_file=‘mysqld-bin.000006’,master_log_pos=154;
start slave; 开启从库
stop slave; 关闭从库
reset slave; 重置从库
show master status\G; 查看从库
这样代表完成配置
注意关闭每个服务器的防火墙