centos 7 Mysql 5.7.31 Master Slave
vi /etc/sysconfig/network-scripts/ifcfg-ens33 BOOTPROTO=static/dhcp ONBOOT=yes IPADDR0=192.168.0.201 PREFIXO0=24 GATEWAY0=192.168.0.1 DNS1=192.168.0.1
useradd username passwd username yum update yum install vim chmod -v u+w /etc/sudoers vim /etc/sudoers [用户名] ALL=(ALL) ALL chmod -v u-w /etc/sudoers
/etc/yum.repos.d/ wget http://mirrors.aliyun.com/repo/Centos-7.repo wget http://mirrors.163.com/.help/CentOS7-Base-163.repo yum list | grep epel-release yum install -y epel-release yum clean all yum makecache
rpm -qa|grep mariadb rpm -e --nodeps mariadb-libs yum install bash-completion wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.31-1.el7.x86_64.rpm-bundle.tar tar -xvf mysql rpm -ivh mysql-community-common-5.7.22-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.22-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.22-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm systemctl status mysqld systemctl start mysqld ps -ef|grep mysql grep 'temporary password' /var/log/mysqld.log set global validate_password_policy=0; set global validate_password_length=1; set password for root@localhost=password('root'); set password = password('root') CREATE USER 'username'@'host' IDENTIFIED BY 'password'; grant all privileges on *.* to root@'%' identified by 'root'; flush privileges;
firewall-cmd --permanent --zone=public --add-port=3306/tcp firewall-cmd --permanent --zone=public --add-port=3306/udp firewall-cmd --zone=public --permanent --add-service=mysql firewall-cmd --reload
1 [client] 2 port = 3306 3 default-character-set = utf8mb4 4 5 [mysql] 6 port = 3306 7 default-character-set = utf8mb4 8 9 [mysqld] 10 ########################## 11 # summary 12 ########################## 13 #bind-address = 0.0.0.0 14 #port = 3306 15 datadir=/datavol/mysql/data #数据存储目录,根据实际情况而定,在docker中是指定其他目录了,这个目录没用使用,但是若不是docker的话则需要指定这个配置 16 skip-name-resolve #mysql DNS反解析
17 ########################## 18 # log bin 19 ########################## 20 server-id = 100 #必须唯一 21 log_bin = mysql-bin #开启及设置二进制日志文件名称 22 binlog_format = MIXED 23 sync_binlog = 1 24 expire_logs_days =7 #二进制日志自动删除/过期的天数。默认值为0,表示不自动删除。 25 26 #binlog_cache_size = 128m 27 #max_binlog_cache_size = 512m 28 #max_binlog_size = 256M 29 30 binlog-do-db = test #要同步的数据库 31 32 binlog-ignore-db = mysql #不需要同步的数据库 33 binlog_ignore_db = information_schema 34 binlog_ignore_db = performation_schema 35 binlog_ignore_db = sys 36 37 38 ########################## 39 # character set 40 ########################## 41 character-set-server = utf8mb4 42 collation-server = utf8mb4_unicode_ci
systemctl restart mysqld CREATE USER 'slave'@'%' IDENTIFIED BY '123456'; GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%'; show variables like 'log_bin'; show master status;
1 [client] 2 port = 3306 3 default-character-set = utf8mb4 4 5 [mysql] 6 port = 3306 7 default-character-set = utf8mb4 8 9 [mysqld] 10 ########################## 11 # summary 12 ########################## 13 #bind-address = 0.0.0.0 14 #port = 3306 15 datadir=/datavol/mysql/data #数据存储目录,根据实际情况而定,在docker中是指定其他目录了,这个目录没用使用,但是若不是docker的话则需要指定这个配置 16 17 ########################## 18 # log bin 19 ########################## 20 server-id = 110 21 22 23 ########################## 24 # character set 25 ########################## 26 character-set-server = utf8mb4 27 collation-server = utf8mb4_unicode_ci
stop slave;
mysql> CHANGE MASTER TO MASTER_HOST='10.10.10.21', MASTER_PORT=3306, MASTER_USER='test1', MASTER_PASSWORD='test1', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154;
start slave;
show slave status \G show variables like 'log_error%'; cat /var/log/mysql.log perror 1045 update user set authentication_string=password('新密码') where user='root' and host='localhost'; flush privileges; show global variables like '%max_connect_errors%'; set global max_connect_errors=1000;
skip-name-resolve
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号