查询系统是否有安装mysql,如有则移除。
rpm -qa | grep mysql
移除已安装的mysql:
yum remove mysql-libs-5.1.66-2.el6_3.x86_64
安装需要的插件:
yum install perl perl-devel libaio libaio-devel
安装MySQL-shared-compat 替换mysql-libs,如果不替换,在删除mysql-libs,会提示postfix依赖于mysql-libs
rpm -ivh MySQL-shared-compat-5.6.26-1.el6.x86_64.rpm
安装服务端:
rpm -ivh MySQL-server-5.6.26-1.el6.x86_64.rpm
安装客户端:
rpm -ivh MySQL-client-5.6.26-1.el6.x86_64.rpm
启动mysql:
service mysql start
停止mysql:
service mysql stop
获取root的密码:
more /root/.mysql_secret
修改root密码并删除匿名账户:
/usr/bin/mysql_secure_installation--user=mysql
修改主服务器配置文件my.cnf:
#唯一性,不能重复 server-id = 1 #二进制日志文件 log-bin=mysql-bin #二进制格式改为行row模式,三种模式statement语句模式,row行模式,mixed混合模式 #当设置隔离级别为READ-COMMITED必须设置二进制日志格式为ROW #现在MySQL官方认为STATEMENT这个已经不再适合继续使用;但mixed类型在默认的事务隔离级别下,可能会导致主从数据不一致; binlog_format=row #slave更新是否记入日志 # 以下是对二进制日志一些设置 # 启用这个参数,可用于在二进制日志记录事件相关的信息,可降低故障排除的复杂度 # 这两个是启用relaylog的自动修复功能,避免由于网络之类的外因造成日志损坏,主从停止. |
修改从服务器配置文件my.cnf:
server-id = 2 log-bin=mysql-bin binlog_format=row log-slave-updates=true gtid-mode=on enforce-gtid-consistency=true master-info-repository=TABLE relay-log-info-repository=TABLE sync-master-info=1 slave-parallel-workers=4 binlog-checksum=CRC32 master-verify-checksum=1 slave-sql-verify-checksum=1 binlog-rows-query-log_events=1 binlog_cache_size = 4M report-port=3306 |
进入mysql:
mysql -u root –p
创建复制账户并授权:
grant replication slave on *.* to ‘mysql‘@‘192.168.2.%‘identified by ‘mysql‘;
flush privileges; #重加载权限
从库连接主库:
change master to master_host=‘192.168.2.61‘,master_user=‘mysql‘,master_password=‘mysql‘, master_port=3306,master_auto_position=1;
start slave;
查看状态:
show global variables like ‘%uuid%
show processlist;
show databases;
show slave status\G;
show master status\G;