#mysql数据库 #主从MySQL数据库主从配置1.MySQL主从介绍MySQL 主从又叫做 Replication、AB 复制。简单讲就是 A 和 B 两台机器做主从后在 A 上写数据另外一台 B 也会跟着写数据两者数据实时同步的。MySQL 主从是基于 binlog 的主上须开启 binlog 才能进行主从。主从过程大致有 3 个步骤1主将更改操作记录到 binlog 里2从将主的 binlog 事件(sql 语句)同步到从本机上并记录在 relaylog里中继日志3从根据 relaylog 里面的 sql 语句按顺序执行主配置安装完 mysql 的虚拟机一台IP192.168.13.5 我将这台虚拟机作为我的主服务器一台IP192.168.13.8 我将这台虚拟机作为我的从服务器基础配置[rootlocalhost ~]# vi /etc/my.cnf进入MySQL的编辑文件重启mysqld服务(两种都可以)错误出现错误之后可以查看MySQL的进程如果有的话请先全部kill掉ps aux | grep mysql *kill -9 进程数据[rootlocalhost ~]# /etc/init.d/mysqld restart[rootlocalhost ~]# systemctl start mysqld.service备份MySQL库加入环境变量[rootlocalhost ~]# mysqldump -uroot mysql /tmp/mysql.sql 输入该命令之后会存在命令不存在可以通过添加mysql的环境变量创建一个库保存数据(此库为同步库)[rootlocalhost ~]# mysqldump -uroot -e “create database kei”将MySQL库恢复成新建的库作为测试数据进行数据库配置[rootlocalhost ~]# mysql -uroot进入数据库创建同步数据的用户赋予权限mysql grant replication slave on *.* to ‘repl’ 192.168.13.5 identified by ‘204718’;提醒此次进入的仅此为数据库可以使用use MySQL或者是其他进入数据库若是要进入MySQL数据库一定要进去因为MySQL本身就含有一个MySQL数据库将表锁住保持表内的数据不变mysql flush tables with read lock;显示主机的状态mysql show master status;错误这里一定要细心要不然很有可能出现主机状态为空配置MySQL文件的时候需要注释掉和需要留存的要分清楚尤其是主配置中添加配置文件的时候。我们可以通过ls -/data/mysql 查看有错误的地方(含有err即为错误日志)[rootlocalhost ~]# tail -15 /data/mysql/aminglinux.000001用这个命令查看错误日志。其中/data/mysql就是存放mysql数据库后面就是二进制日志。从配置(安装完mysql的虚拟机)基础配置[rootlocalhost ~]# vi /etc/my.cnf进入MySQL的编辑文件重启mysqld服务(两种都可以)[rootlocalhost ~]# /etc/init.d/mysqld restart[rootlocalhost ~]# systemctl start mysqld.service错误出现错误之后可以查看MySQL的进程如果有的话请先全部kill掉ps aux | grep mysql *kill -9 进程数据在主服务器上将文件拷贝到从上并在从上查看两者的文件大小是否一致[rootlocalhost ~]# scp /tmp/mysql.sql root192.168.13.8:/tmp/这里填写的IP为从的[rootlocalhost ~]# ls -la /tmp/mysql.sql创建一个和主一样的库[rootlocalhost ~]# mysqldump -uroot -e “create database kei”将文件的内容导入库[rootlocalhost ~]# mysql -uroot kei /tmp/mysql.sql[rootlocalhost ~]# mysql -uroot进入数据库配置数据库错误此时的IP等一系列要求的都是为主服务器的log_file和log_pos都通过主配置的显示主机状态中得到。在主上面执行解锁表[mysql] unlock tables;进行验证的时候需要刷新主从同步以及相关配置参数在从服务器上操作并执行命令关闭防火墙[mysql]systemctl stop firewalld[mysql]setenforce 0[mysql ] show slave statusG出现上面的这种即为正确的表示配置正常。配置参数[rootlocalhost~]# vi /etc/my.cnf从[rootlocalhost~]# vi /etc/my.cnf主测试主从主进入同步的数据库(注意MySQL的本身含有MySQL数据库)[rootlocalhost ~]# mysql -urootmysql use kei由于我创建的用来同步的库为keimysql select count(*)from db;从[rootlocalhost ~]# mysql -urootmysql use keimysql select count(*)from db;
mysql的主从配置
#mysql数据库 #主从MySQL数据库主从配置1.MySQL主从介绍MySQL 主从又叫做 Replication、AB 复制。简单讲就是 A 和 B 两台机器做主从后在 A 上写数据另外一台 B 也会跟着写数据两者数据实时同步的。MySQL 主从是基于 binlog 的主上须开启 binlog 才能进行主从。主从过程大致有 3 个步骤1主将更改操作记录到 binlog 里2从将主的 binlog 事件(sql 语句)同步到从本机上并记录在 relaylog里中继日志3从根据 relaylog 里面的 sql 语句按顺序执行主配置安装完 mysql 的虚拟机一台IP192.168.13.5 我将这台虚拟机作为我的主服务器一台IP192.168.13.8 我将这台虚拟机作为我的从服务器基础配置[rootlocalhost ~]# vi /etc/my.cnf进入MySQL的编辑文件重启mysqld服务(两种都可以)错误出现错误之后可以查看MySQL的进程如果有的话请先全部kill掉ps aux | grep mysql *kill -9 进程数据[rootlocalhost ~]# /etc/init.d/mysqld restart[rootlocalhost ~]# systemctl start mysqld.service备份MySQL库加入环境变量[rootlocalhost ~]# mysqldump -uroot mysql /tmp/mysql.sql 输入该命令之后会存在命令不存在可以通过添加mysql的环境变量创建一个库保存数据(此库为同步库)[rootlocalhost ~]# mysqldump -uroot -e “create database kei”将MySQL库恢复成新建的库作为测试数据进行数据库配置[rootlocalhost ~]# mysql -uroot进入数据库创建同步数据的用户赋予权限mysql grant replication slave on *.* to ‘repl’ 192.168.13.5 identified by ‘204718’;提醒此次进入的仅此为数据库可以使用use MySQL或者是其他进入数据库若是要进入MySQL数据库一定要进去因为MySQL本身就含有一个MySQL数据库将表锁住保持表内的数据不变mysql flush tables with read lock;显示主机的状态mysql show master status;错误这里一定要细心要不然很有可能出现主机状态为空配置MySQL文件的时候需要注释掉和需要留存的要分清楚尤其是主配置中添加配置文件的时候。我们可以通过ls -/data/mysql 查看有错误的地方(含有err即为错误日志)[rootlocalhost ~]# tail -15 /data/mysql/aminglinux.000001用这个命令查看错误日志。其中/data/mysql就是存放mysql数据库后面就是二进制日志。从配置(安装完mysql的虚拟机)基础配置[rootlocalhost ~]# vi /etc/my.cnf进入MySQL的编辑文件重启mysqld服务(两种都可以)[rootlocalhost ~]# /etc/init.d/mysqld restart[rootlocalhost ~]# systemctl start mysqld.service错误出现错误之后可以查看MySQL的进程如果有的话请先全部kill掉ps aux | grep mysql *kill -9 进程数据在主服务器上将文件拷贝到从上并在从上查看两者的文件大小是否一致[rootlocalhost ~]# scp /tmp/mysql.sql root192.168.13.8:/tmp/这里填写的IP为从的[rootlocalhost ~]# ls -la /tmp/mysql.sql创建一个和主一样的库[rootlocalhost ~]# mysqldump -uroot -e “create database kei”将文件的内容导入库[rootlocalhost ~]# mysql -uroot kei /tmp/mysql.sql[rootlocalhost ~]# mysql -uroot进入数据库配置数据库错误此时的IP等一系列要求的都是为主服务器的log_file和log_pos都通过主配置的显示主机状态中得到。在主上面执行解锁表[mysql] unlock tables;进行验证的时候需要刷新主从同步以及相关配置参数在从服务器上操作并执行命令关闭防火墙[mysql]systemctl stop firewalld[mysql]setenforce 0[mysql ] show slave statusG出现上面的这种即为正确的表示配置正常。配置参数[rootlocalhost~]# vi /etc/my.cnf从[rootlocalhost~]# vi /etc/my.cnf主测试主从主进入同步的数据库(注意MySQL的本身含有MySQL数据库)[rootlocalhost ~]# mysql -urootmysql use kei由于我创建的用来同步的库为keimysql select count(*)from db;从[rootlocalhost ~]# mysql -urootmysql use keimysql select count(*)from db;