安装MySQL 5.7
如果安装过mysql,删除
停掉mysql进程:
pkill -9 mysqld
删除mysql:
rpm -qa|grep -i mysql yum -y remove mysql-community-client-5.6.38-2.el7.x86_64
依次卸载 直到没有
yum安装
cd /usr/local/src/ wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm rpm -ivh mysql57-community-release-el7-8.noarch.rpm yum -y install mysql-server
默认配置文件路径:
- 配置文件:/etc/my.cnf
- 日志文件:/var/log/mysqld.log
- 服务启动脚本:/usr/lib/systemd/system/mysqld.service
- socket文件:/var/run/mysqld/mysqld.pid
启动mysql
service mysqld restart
查看临时密码:
$ grep "password" /var/log/mysqld.log 临时密码信息如下: [Note] A temporary password is generated for root@localhost: M:sd6OoNZkz1
用临时密码登录:
mysql -uroot -p
修改密码(密码8位以上,大小写字母+数字+特殊符号):
set password for root@localhost = password('Node2018!');
Navicat连接mysql
登录mysql,查看现有的user:
mysql -uroot -pNode2018! mysql> select host,user from mysql.user; +-----------+---------------+ | host | user | +-----------+---------------+ | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+---------------+ 3 rows in set (0.01 sec)
创建一个新的账号:
CREATE USER 'root'@'%' IDENTIFIED BY 'Node2018!'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
刷新权限:
FLUSH PRIVILEGES;
主从复制配置
编辑mysql的配置文件: vim /etc/my.cnf
192.168.7.2: log-bin=mysql-bin #binlog文件的前缀,可以修改 binlog-format=ROW #选择row模式 server_id=2 #必须,不同mysql不能重复 log_slave_updates=1 #开启以后从库会记录主库同步的binlog。 auto_increment_increment=2 #步进值,一般有n台主MySQL就填n。 auto_increment_offset=1 #起始值。一般填第n台主MySQL。
192.168.7.3: log-bin=mysql-bin #binlog文件的前缀,可以修改 binlog-format=ROW #选择row模式 server_id=3 #必须,不同mysql不能重复 log_slave_updates=1 #开启以后从库会记录主库同步的binlog。 auto_increment_increment=2 #步进值,一般有n台主MySQL就填n。 auto_increment_offset=1 #起始值。一般填第n台主MySQL。
192.168.7.4: log-bin=mysql-bin #binlog文件的前缀,可以修改 binlog-format=ROW #选择row模式 server_id=4 #必须,不同mysql不能重复 log_slave_updates=1 #开启以后从库会记录主库同步的binlog。
分别重启192.168.7.2、192.168.7.3、192.168.7.4上的mysql:
service mysqld restart
在192.168.7.2新建复制账号:
CREATE USER user73 IDENTIFIED BY 'Node2018!'; GRANT ALL PRIVILEGES ON *.* TO 'user73'@'%' ; FLUSH PRIVILEGES; CREATE USER user74 IDENTIFIED BY 'Node2018!'; GRANT ALL PRIVILEGES ON *.* TO 'user74'@'%' ; FLUSH PRIVILEGES;
在192.168.7.3上配置复制的master信息:
CHANGE MASTER TO MASTER_HOST='192.168.7.2', MASTER_USER='user73', MASTER_PASSWORD='Node2018!', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=2340;
在192.168.7.4上配置复制的master信息:
CHANGE MASTER TO MASTER_HOST='192.168.7.2', MASTER_USER='user74', MASTER_PASSWORD='Node2018!', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=2340;
开启复制并查看复制状态:
START SLAVE; SHOW SLAVE STATUS\G;
主主复制配置
7.2 和7.5 配置主主复制
配置node5的my.cnf:
log-bin=mysql-bin #binlog文件的前缀,可以修改 binlog-format=ROW #选择row模式 server_id=5 #必须,不同mysql不能重复 log_slave_updates=1 #开启以后从库会记录主库同步的binlog。 auto_increment_increment=2 #步进值,一般有n台主MySQL就填n。 auto_increment_offset=2 #起始值。一般填第n台主MySQL。
在7.2上创建一个7.5上能访问的账号:
CREATE USER user75 IDENTIFIED BY 'Node2018!'; GRANT ALL PRIVILEGES ON *.* TO 'user75'@'%' ; FLUSH PRIVILEGES;
在7.5上创建一个7.2上能访问的账号:
CREATE USER user72 IDENTIFIED BY 'Node2018!'; GRANT ALL PRIVILEGES ON *.* TO 'user72'@'%' ; FLUSH PRIVILEGES;
互相change master:
CHANGE MASTER TO MASTER_HOST='192.168.7.5', MASTER_USER='user72', MASTER_PASSWORD='Node2018!', MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=154; CHANGE MASTER TO MASTER_HOST='192.168.7.2', MASTER_USER='user75', MASTER_PASSWORD='Node2018!', MASTER_LOG_FILE='mysql-bin.000005', MASTER_LOG_POS=1761;
本文到此结束!喜欢的朋友点点赞和关注,感谢支持!
转载请标明出处:MySQL主从(MS)、主主(MM)复制
文章来源: https://blog.csdn.net/qwe123147369/article/details/92183230