时间:2021-07-01 10:21:17 帮助过:16人阅读
- <code>#下载Mysql
- wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
- 如果报错: -bash: wget: 未找到命令
- 安装插件 yum -y install wget
- 安装mysql-community-release-el7-5.noarch.rpm
- sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
- 安装Mysql
- sudo yum install mysql-server
- 一直y下去就可以了</code>
配置Mysql
- <code>mysql -u root</code>
报错。原因:原因是/var/lib/mysql的访问权限问题。
- <code>#授权
- chown root /var/lib/mysql/
- #重启
- service mysqld restart
- #再次登录并修改密码
- mysql -u root
- use mysql;
- update user set password=password('123456') where user='root';
- exit;
- #再次重启,授权root可以远程连接
- service mysqld restart
- GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
- service mysqld restart</code>
==MySQL的主从复制是MySQL本身自带的一个功能,不需要额外的第三方软件就可以实现。其复制功能并不是copy文件来实现的,而是借助binlog日志文件里面的SQL命令实现的主从复制,可以理解为我在Master端执行了一条SQL命令,那么在Salve端同样会执行一遍,从而达到主从复制的效果。从库生成两个线程,一个1/0线程、一.个SQL线程。i/o线程去请求主库的binlog,并将得到的binlog日志写到relay log (中继日志)文件中。主库会生成一个log dump线程,用来给从库i/o线程传binlog;SQL线程,会读取relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致。==
配置主节点
- <code>vi /etc/my.cnf
- server_id=131 ###服务器id
- log-bin=mysql-bin ###开启日志文件
- #保存之后重启
- service mysqld restart</code>
- <code>#查询对应配置文件中的server_id 说明已经配置成功
- show variables like '%server_id%';
- #看到同步的文件,和行数 说明已经配置成功。
- show master status;</code>
从节点配置
- <code>vi /etc/my.cnf
- server_id=132 ###从服务器server_id
- log-bin=mysql-bin ###日志文件同步方式
- binlog_do_db=test,test1 ###同步数据库,多个以逗号分隔
- service mysqld restart</code>
从节点同步主节点
- <code>master_host:主节点IP
- master_user :主节点账号
- master_password:密码
- #这两个参数的配置是在主节点通过show master status;查询到的
- master_log_file
- master_log_pos
- #执行sql
- CHANGE MASTER TO master_host = '192.168.100.131',
- master_user = 'root',
- master_password = 'root',
- master_log_file = 'mysql-bin.000001',
- master_log_pos = 120;
- 因为从节点的服务器是直接复制的主节点,所有可能会出现一个错误
- Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.。是因为UUID重复了.删除子节点的auto.cnf就可以了
- 解决办法:
- #找到Mysql的位置
- cat /etc/my.cnf
- cd /var/lib/mysql
- rm -rf auto.cnf
- service mysqld restart</code>
- <code>#开始同步
- start slave
- #查看同步状态
- SHOW SLAVE STATUS</code>
在主节点创建test数据库,在创建一个表,子节点会自动同步
刷新一下从节点
Mysql主从复制
标签:插入图片 执行sql log-bin ESS res sha 安装 shadow erro