关于mysql主从:Centos安装Mysql数据库和Mysql主从配置
Centos装置mysql#查看零碎中是否已装置mysql软件yum list installed | grep mysql#删除yum -y remove mysql-libs.x86_64#下载mysql包wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz#解压tar -zxvf mysql-5.7.16-linux-glibc2.5-x86_64.tar.gz#批改目录名mv mysql-5.7.16-linux-glibc2.5-x86_64 mysql-5.7.16#创立数据保留目录mkdir -p /data/datas/mysql/data #查看mysql用户组cat /etc/group |grep mysql #查看mysql用户 cat /etc/passwd |grep mysql #创立mysql用户组groupadd mysql#创立mysql并增加到mysql用户组useradd mysql -g mysql#给mysql用户没有登录权限usermod -s /sbin/nologin mysql#批改目录的权限为mysql用户chown -R mysql:mysql /data/apps/mysql-5.7.16chown -R mysql:mysql /data/datas/mysql#进入目录cd /data/app/mysql-5.7.16/bin/#初始化装置mysql./mysqld --user=mysql --basedir=/data/app/mysql-5.7.16/ --datadir=/data/datas/mysql/data --initialize#如果报libaio.so错:yum -y install libaio#初始化mysql 胜利之后记住明码 root@localhost: LIFt4H-lrZQ+#批改配置文件cd /data/app/mysql-5.7.16/support-files/vim mysql.serverbasedir=/data/app/mysql-5.7.16datadir=/data/datas/mysql/data#将默认生成的my.cnf备份mv /etc/my.cnf /etc/my.cnf.bak# 启动mysql胜利./mysql.server start # 进行mysql./mysql.server stop配置mysql#创立软链接ln -s /data/app/mysql-5.7.16/bin/mysql /usr/bin/mysql#查看mysql版本mysql --version#复制配置文件cp my-default.cnf /data/app/mysql-5.7.16/my.cnfcd /data/app/mysql-5.7.16/#批改配置文件vim my.cnf [client]default-character-set = utf8mb4[mysql]default-character-set = utf8mb4[mysqld]character-set-client-handshake = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ciinit_connect='SET NAMES utf8mb4'basedir = /data/app/mysql-5.7.16datadir = /data/datas/mysql/data#设置开机启动cp /data/app/mysql-5.7.16/support-files/mysql.server /etc/init.d/mysqld#可执行权限chmod 755 /etc/init.d/mysqld # 确认MySQL自启动chkconfig --list mysqld #设置MySQL开启自启动chkconfig mysqld on # 再查看MySQL自启动chkconfig --list mysqld mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off # 如果2--5为on的状态就OKroot明码与近程连贯#启动mysql服务service mysqld start#初始化mysql用户root的明码./bin/mysqladmin -uroot -p'4cSM((-qlNz-' password 'root' #4cSM((-qlNz-为下面初始化mysql生成的随机明码#输出明码进入mysql -uroot -p #mysql近程受权#输出明码进入mysql -uroot -p grant all privileges on *.* to 'root'@'%' identified by 'root';FLUSH PRIVILEGES;#凋谢端口vim /etc/sysconfig/iptables-A INPUT -p tcp -m multiport --dports 3306 -j ACCEPTservice iptables restart主从配置主配置cd /data/app/mysql-5.7.16/#批改配置vim my.cnfport = 3306server_id = 1 #服务id,个别为ip后三位binlog-do-db = beyond #要同步的数据库#binlog-ignore-db = mysql,sys,information_schema,performance_schema #不必同步的数据库,多个以逗号分隔log-bin = mysql-bin #开启log-bin#其余配置优化max_binlog_size = 500Mbinlog_cache_size = 2Mmax_binlog_cache_size = 4Mexpire_logs_days = 30max_connections = 500max_connect_errors = 10000table_open_cache = 256long_query_time = 1slow-query-log#慢sql打印slow_query_log_file = /data/datas/mysql/data/slow_query_log_file.log#重启service mysqld restart #创立一个主从同步的用户mysql -uroot -pcreate user 'repl'@'%' identified by '123456'; #受权grant replication slave on *.* to 'repl'@'%' identified by '123456'; flush privileges;show master status; #查看状态从配置cd /data/app/mysql-5.7.16/#批改配置vim my.cnfport = 3306server_id = 2 #服务id,个别为ip后三位read_only = 1 #只读#其余配置优化log-bin = mysql-binmax_binlog_size = 500Mbinlog_cache_size = 2Mmax_binlog_cache_size = 4Mexpire_logs_days = 30max_connections = 500max_connect_errors = 10000table_open_cache = 256long_query_time = 1slow-query-log#慢sql打印slow_query_log_file = /data/datas/mysql/data/slow_query_log_file.logrelay_log = /data/datas/mysql/data/mysqld-relay-bin relay_log-index = /data/datas/mysql/data/mysqld-relay-bin.index#重启服务service mysqld restart mysql -uroot -p#设置同步change master to master_host='主的ip', master_port=3306, master_user='repl', master_password='123456', master_log_file='mysql-bin.000002', master_log_pos=780; #mysql-bin.000002和780是从主里查的,show master status;命令查看#启动从库复制线程start slave; #查看状态show slave status; #次要查看两个参数:Slave_IO_Running和Slave_Sql_Running。这两个值为Yes,OK从库配置好了#接下来在 beyond数据库的操作都会同步到从数据库