视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
mysql5.1.73配置主从服务器_MySQL
2020-11-09 19:52:19 责编:小采
文档


一、安装MySQL

这里就详解,请度娘。

二、配置MySQL主服务器(10.241.226.110)

mysql -uroot -p #进入MySQL控制台
create database testdb; #建立数据库testdb

#授权用户mysqlcopy只能从10.241.226.111这个IP访问主服务器10.241.226.110上面的数据库,并且只具有数据库备份的权限
grant replication slave on *.* to 'mysqlcopy'@'10.241.226.111' identified by '123456' with grant option;

三、把MySQL主服务器10.241.226.110中的数据库testdb导入到MySQL从服务器10.241.226.111中

1、导出数据库testdb

mysqldump -u root -p testdb> /home/testdbbak.sql

备注:在导出之前可以先进入MySQL控制台执行下面命令

flush tables with read lock; #数据库只读锁定命令,防止导出数据库的时候有数据写入

unlock tables; #解除锁定

2、导入数据库到MySQL从服务器

mysql -u root -p #进入从服务器MySQL控制台

create databasetestdb; #创建数据库

usetestdb #进入数据库

source /home/testdbbak.sql #导入备份文件到数据库

mysql -u mysqlcopy-h10.241.226.110 -p #测试在从服务器上登录到主服务器

四、配置MySQL主服务器的my.cnf文件

1、vim /etc/my.cnf #编辑配置文件,在[mysqld]部分添加下面内容

log_bin=mysql-bin #启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
binlog-do-db=testdb #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行
binlog-ignore-db=mysql #不同步mysql系统数据库
server_id = 1 #设置服务器id,为1表示主服务器,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
socket =/var/lib/mysql/mysql.sock
character-set-server=utf8

2、service mysqld restart #重启MySQL
3、mysql -u root -p #进入mysql控制台
4、show master status; 查看主服务器,出现以下类似信息
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 120 | testdb | mysql |
+------------------+----------+--------------+------------------+

注意:这里记住File的值:mysql-bin.000001和Position的值:120,后面会用到。

五、配置MySQL从服务器的my.cnf文件

1、vi /etc/my.cnf #编辑配置文件,在[mysqld]部分添加下面内容

log_bin=mysql-bin #启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。
replicate-do-db=testdb
replicate-ignore-db=mysql
read_only=1
server_id = 2 #配置文件中已经有一行server-id=1,修改其值为2,表示为从数据库
socket = /var/lib/mysql/mysql.sock
character-set-server=utf8 

2、service mysqld restart #重启MySQL

3、mysql -u root -p #进入MySQL控制台

4、slave stop; #停止slave同步进程

5、change master to master_host='10.241.226.110',master_user='mysqlcopy',master_password='123456',master_log_file='mysql-bin.000001,master_log_pos=120; #执行同步语句

6、slave start; #开启slave同步进程

7、SHOW SLAVE STATUS\G #查看slave同步信息,部分内容如下:

*************************** 1. row ***************************
 Slave_IO_State: Waiting for master to send event
 Master_Host: 10.241.226.111
 Master_User: mysqlcopy
 Master_Port: 3306
 Connect_Retry: 60
 Master_Log_File: mysql-bin.000001
 Read_Master_Log_Pos: 377
 Relay_Log_File: localhost-relay-bin.000003
 Relay_Log_Pos: 540
 Relay_Master_Log_File: mysql-bin.000001
 Slave_IO_Running: Yes
 Slave_SQL_Running: Yes
 Replicate_Do_DB: DB_CLOUDCORE
 Replicate_Ignore_DB: mysql
 Replicate_Do_Table: 
 Replicate_Ignore_Table: 
 Replicate_Wild_Do_Table: 
 Replicate_Wild_Ignore_Table: 
 Last_Errno: 0
 Last_Error: 
 Skip_Counter: 0
 Exec_Master_Log_Pos: 377
 Relay_Log_Space: 717
 Until_Condition: None
 Until_Log_File:
注意查看:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

以上这两个参数的值为Yes,即说明配置成功!

六、测试MySQL主从服务器双机热备是否成功

1、进入MySQL主服务器

mysql -u root -p #进入主服务器MySQL控制台

use testdb; #进入数据库

CREATE TABLE test ( id int not null); #创建test表

2、进入MySQL从服务器

mysql -u root -p #进入MySQL控制台

usetestdb; #进入数据库

show tables;

会看到有一个新建的表test,表示数据库同步成功

问题:

1、ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'

解:由于mysql 默认的mysql.sock 是在/var/lib/mysql/mysql.sock,但linux系统总是去/tmp/mysql.sock查找,所以会报错

为mysql.sock增加软连接(相当于windows中的快捷方式)。
ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

下载本文
显示全文
专题