安装mysql5.7.17
在CentOS 7里下载
wget http://repo.mysql.com/mysql57…
下载后再安装源
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
安装好后开始用YUM安装 MYSQL 5.7.17
yum install -y mysql-server
修改默认密码
修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1
这一行配置让 mysqld 启动时不对密码进行验证
重启 mysqld 服务:systemctl restart mysqld
使用 root 用户登录到 mysql:mysql -u root
更新密码
use mysql;
update user set authentication_string = password(‘123’), password_expired = ‘N’, password_last_changed = now() where user = ‘root’;
开启root远程操作
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
退出 mysql,编辑 /etc/my.cnf 文件,删除 skip-grant-tables=1 的内容
修改密码策略
通过my.cnf 配置文件设置密码策略的级别
vi /etc/my.cnf 加入以下代码并重启mysql,systemctl restart mysqld
validate_password = off
查看防火墙状态
firewall-cmd –state
关闭防火墙或者开启3306端口
关闭防火墙:systemctl stop firewalld.service
开启3306端口:
firewall-cmd –permanent –zone=public –add-port=3306/tcp
master:
grant replication slave on . to ‘mysqlsync’@’%’ identified by ‘123’;
查看file字段,并在slave上配置
show master status;
确定配置文件里是否有这些参数,如果没有,手动补充:
log-bin=bin #slave会基于此log-bin来做replication
server-id=1 #master的标示
innodb_flush_log_at_trx_commit=1
sync_binlog=1
slave:
在配置文件里加上服务器id
vi /etc/my.cnf
server-id=2
进入mysql,运行一下命令
change master to master_host=’192.168.1.201′,master_user=’mysqlsync’,master_password=’123′,master_port=3306,master_log_file=’bin.000003′,master_log_pos=154;
测试
在master上创建数据库
create database test
同步成功
如果碰到错误1236,用以下方法解决:
http://www.linuxidc.com/Linux…
切换日志的命令:
CHANGE MASTER TO MASTER_LOG_FILE=’bin.000004′,MASTER_LOG_POS=298;
启动slave,命令用start slave;重新启动用restart slave
查看状态 show master status;