千家信息网

MySQL 主从同步。

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,Mysql 数据库安装:服务器IP 地址规划:主服务器 IP 172.20.2.46 从服务器 IP 172.20.2.47二、安装mysql服务器1.将下载好的安装到解压到/usr/local目录下
千家信息网最后更新 2026年11月02日MySQL 主从同步。

Mysql 数据库安装:

服务器IP 地址规划:
主服务器 IP 172.20.2.46 从服务器 IP 172.20.2.47

二、安装mysql服务器

1.将下载好的安装到解压到/usr/local目录下
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

2.进入/usr/local目录
cd /usr/local/

3.为mysql安装目录创建软链接
ln -s mysql-5.7.22-linux-glibc2.12-x86_64 mysql

4.为centos添加mysql用户组和mysql用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
groupadd mysql
useradd -r -g mysql -s /bin/false mysql

5.进入安装mysql软件的目录,命令如下
cd /usr/local/mysql

6.修改当前目录拥有者为新建的mysql用户,命令如下:
chown -R mysql:mysql ./

7.安装mysql,命令如下:
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize

8.如果出现如下图所示则为安装成功,系统默认生成密码。

9.开启mysql服务,命令如下:
./support-files/mysql.server start

如果出现如下错误,则说明mysql配置文件/etc/my.cnf中的路径不对,修改内容如下,datadir和socket都修改成mysql的安装目录下,增加[client]板块,用于命令行连接mysql数据库。
########################################################################
[mysqld]
port=3306
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
user=mysql
max_connections=151
symbolic-links=0

设置忽略大小写

lower_case_table_names = 1

指定编码

character-set-server=utf8

collation-server=utf8_general_ci

开启ip绑定

bind-address = 0.0.0.0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

#指定客户端连接mysql时的socket通信文件路径
[client]
socket=/usr/local/mysql/mysql.sock

default-character-set=utf8

##########################################################################################################

9.重新开启mysql服务,如下图所示则开启成功!
./support-files/mysql.server start

10.将mysql进程放入系统进程中,命令如下:
cp support-files/mysql.server /etc/init.d/mysqld

11.重新启动mysql服务,命令如下:
./support-files/mysql.server start

12.配置mysql环境变量
vi /etc/profile
export PATH=$PATH:/usr/local/mysql/bin

保存退出,再编译下:
source /etc/profile

13.使用随机密码登录mysql数据库,命令如下:
mysql -u root -p

输入随机密码登录成功如下图所示:

14.进入 mysql 操作行,为root用户设置新密码(这里设置为 youpassword):

1、 修改用户密码
mysql> alter user 'root'@'localhost' identified by 'youpassword';

或者

mysql> set password=password("youpassword");
2、刷新权限
mysql> flush privileges;

#################################################################

主从配置过程:

主服务器 IP 172.20.2.46 从服务器 IP 172.20.2.47

1)主服务器配置:
[root@MySQL-M ~]# vim /etc/my.cnf # 添加以下内容。
[mysqld]
#给服务器一个唯一的ID。
server_id=46
#开启二进制日志。
log-bin=mysql-bin # mysql-bin 为日志名字。
#指定二进制日志格式。
binlog-format=mixed

备注:
#############################################
mixed #
row # 二进制记录的是磁盘。
stateement # 二进制记录执行语句,如 update
###############################################
哪个好?
update age=age+1 where id=3; // 语句长而磁盘变化少,宜用row
update salary=salary+100; // 语句短,但影响上万行,磁盘变化大,宜用stateement
mixed ,混合的,由系统根据语句,来决定。
########################################################################
2)从服务器配置:
[root@MySQL-S ~]# vim /etc/my.cnf
[mysqld]
#给服务器一个唯一的ID。
server-id=47
#开启二进制日志。 ## 一方面恢复以后数据丢失使用,也可以做一主多从使用。建议打开。
log-bin=mysql-bin
#指定二进制日志格式。
binlog-format=mixed

开启 relay-log 中继日志功能。

relay-log=mysql-relay
########################################################################
两台服务器启动服务。
[root@MySQL-M mysql]# ./support-files/mysql.server restart

[root@MySQL-S mysql]# ./support-files/mysql.server restart
########################################################################
主服务器操作:
[root@MySQL-M ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 20220
Server version: 5.7.22-log MySQL Community Server (GPL)
mysql>

查看 master 是否有充当 master 的状态条件 。
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | Position # 字节偏移处。
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 1559 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

主服务器授权:
mysql> grant replication client,replication slave on . to repl@'172.20.2.%' identified by 'repl';
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

########################################################################
从服务器操作:
mysql> change master to
-> master_host='172.20.2.46',
-> master_user='repl',
-> master_password='repl',
-> master_log_file='mysql-bin.000001',
-> master_log_pos=1559;
Query OK, 0 rows affected, 2 warnings (0.05 sec)

mysql> show slave status;
+----------------------------------+-------------+-------------+-------------+---------------+------------------+---------------------+--------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+--------------

mysql> show slave status \G
1. row
Slave_IO_State: Waiting for master to send event
Master_Host: 172.20.2.46
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 1559
Relay_Log_File: mysql-relay.000003
Relay_Log_Pos: 320
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

SQL_Remaining_Delay: NULL  Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates       Master_Retry_Count: 86400              Master_Bind:   Last_IO_Error_Timestamp:  Last_SQL_Error_Timestamp: 

启动从服务器功能
mysql> start slave;
########################################################################
测试:
主服务器:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| haha |
| mysql |
| performance_schema |
| sys |
| test8 |
| zabbix |
+--------------------+
7 rows in set (0.01 sec)

mysql> create database wagnbo
-> ;
Query OK, 1 row affected (0.01 sec)

从服务器:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| haha |
| mysql |
| performance_schema |
| sys |
| test |
| test8 |
| wagnbo |
| zabbix |
+--------------------+
9 rows in set (0.00 sec)
########################################################################

服务 服务器 命令 二进制 日志 用户 目录 配置 密码 数据 语句 成功 数据库 磁盘 系统 登录 内容 功能 文件 权限 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网和科技技术 科技互联网技术 互联网公司 科技公司 青岛互联网科技公司 甘肃拓世互联网科技有限公司 哈尔滨新华互联网科技 互联网科技生活的内容 广西拼得多互联网科技有限公司 互联网大会黑科技排名 特约风豹互联网科技为什么扣费 中和天地互联网科技有限公司 科技互联网海报 2021互联网科技公司排名 郑州欣桑互联网科技有限公司 互联网科技企业商标注意事项 兰石爱特工业互联网科技分公司 玉溪新华互联网科技怎么选 第三届互联网大会安防黑科技 数字科技和互联网金融哪个好 银川新华互联网科技学校招聘 互联网是第几次科技革命的成果 互联网科技财经 金诺互联网科技 互联网 科技公司 互联网金融公司科技 顺网科技2021年互联网排名 彤创互联网科技有限公司 苏州五指互联网络科技有限 互联网科技创业计划的风险分析 互联网的黑科技实验室
0