旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

linux下搭建mysql主从服务器_MySQL教程,linux,搭建,mysql,主从,服务器

作者:搜教程发布时间:2020-01-31分类:MySQL教程浏览:32评论:0


导读:mysql表定义语法详细介绍_MySQL教程MySQL使用【CREATETABLE】创建表,其中有多个选择,主要由表创建定义(createdefinition)、表选项定义(t...

mysql表定义语法详细介绍_MySQL教程

MySQL使用【CREATE TABLE】创建表,其中有多个选择,主要由表创建定义(create definition)、表选项定义(table options)和区分选项(partition options)等内容构成。

实现目标

现在需要搭建两台MySQL服务器(一主一从),一台作为主服务器,一台作为从服务器,主服务器进行写操作,从服务器进行读操作。

工作流程

主服务器:

开启二进制日志

配置唯一的server-id

获得master二进制日志文件名及位置

创建一个用于slave和master通信的用户账号。

从服务器:

配置唯一的server-id

使用master分配的用户账号读取master二进制日志

启用slave服务。

(免费学习视频教程推荐:mysql视频教程)

准备工作

主从数据库版本最好一样

主从数据库内数据保持一致

主数据库:192.168.244.201 : 3306

从数据库:192.168.244.202 : 3306

开始配置

配置 Master 主服务器

找到主数据库的配置文件my.cnf(Windows中是my.ini),我的在/etc/my.cnf
在[mysqld]部分插入如下两行:

[mysqld]
log-bin=mysql-bin #开启二进制日志
server-id=201 #设置server-id,唯一值,标识主机

重启mysql服务

mysql隔离级别_MySQL教程

隔离级别定义了事务与事务之间的隔离距离。事务是把对数据库的一系列操作都看做一个整体,要么全部成功,要么全部失败,利用事务我们可以保证数据库的完整性,事务具有原子性。

systemctl restart mysqld

创建用于主从同步的账号/密码

进入MySQL : mysql -u root -p 回车输入密码。

我创建的用户名叫“master_root”密码是“MySql@6688”

【注意:由于之前把密码改成支持简单密码123456的了,导致这里新建用户出现一些问题,说密码不符合策略等,后来干脆我重装mysql,使用默认复杂密码了,就没有这么多问题了。习惯就好其实。】

下面我都用的%,没有写具体ip,你可以自行决定。

#创建用户(IP为可访问该master的IP,任意IP就写'%')
mysql> CREATE USER 'master_root'@'192.168.244.202' IDENTIFIED BY 'MySql@6688';
#分配权限(IP为可访问该 master的IP,任意IP就写'%')
mysql> GRANT REPLICATION SLAVE ON *.* TO 'master_root'@'192.168.244.202';
 #刷新权限
mysql>flush privileges;

查看master状态,记录二进制文件名(mysql-bin.000001)和位置(154).后面配从库要用。

show master status;

配置 Slave 主服务器

修改my.cnf 文件

vim /etc/my.cnf
[mysqld]
server-id=202 #设置server-id,唯一值,唯一标识从库

重启mysql服务

systemctl restart mysqld

登录进入mysql,执行同步sql语句(主服务器名,用于主从的用户名,密码,二进制文件名,位置)

mysql> CHANGE MASTER TO
    -> MASTER_HOST='192.168.244.201',
    -> MASTER_USER='master_root',
    -> MASTER_PASSWORD='MySql@6688',
    -> MASTER_LOG_FILE='mysql-bin.000001',
    -> MASTER_LOG_POS=154;

启动slave同步进程

mysql>start slave;

查看slave状态

show slave status\G

注意后面不要分号;否则最后一行显示报错如下:

ERROR: No query specified

当Slave_IO_Running和Slave_SQL_Running都为YES的时候就表示主从同步设置成功了。

接下来就可以进行一些验证了,比如在主master数据库的test数据库的一张表中插入一条数据,在slave的test库的相同数据表中查看是否有新增的数据即可验证主从复制功能是否有效,还可以关闭slave(mysql>stop slave;),然后再修改master,看slave是否也相应修改(停止slave后,master的修改不会同步到slave),就可以完成主从复制功能的验证了。

其他相关参数:

master开启二进制日志后默认记录所有库所有表的操作,可以通过配置来指定只记录指定的数据库甚至指定的表的操作,具体在mysql配置文件的[mysqld]可添加修改如下选项:

不同步哪些数据库

binlog-ignore-db = mysql
binlog-ignore-db = test
binlog-ignore-db = information_schema

只同步哪些数据库,除此之外,其他不同步

binlog-do-db = game

如之前查看master状态时就可以看到只记录了test库,忽略了manual和mysql库。

相关文章教程推荐:mysql教程

以上就是linux下搭建mysql主从服务器的详细内容,更多请关注ki4网其它相关文章!

分析SQL查询语句是如何执行的_MySQL教程

MySQL分为Server层和存储引擎层两部分,Server层包括连接器、查询缓存、分析器、执行器等,以及所有的内置函数和跨存储引擎的功能,存储引擎层负责数据的存储和提取,支持多个存储引擎。

标签:linux搭建mysql主从服务器


欢迎 发表评论: