当前位置:网站首页>Build MySQL master-slave server under Ubuntu 14.04

Build MySQL master-slave server under Ubuntu 14.04

2022-07-01 14:49:00 Brother Xing plays with the clouds

MySQL The master-slave replication of is asynchronous , branch master/slave, stay master There is a IO Threads , And in the slave There is IO And Sql Threads .

The most important thing to build an environment is to mysql The binary log function of is enabled , I didn't pay attention to one detail in the process of building , It's been a long time .

Environmental Science :

My two virtual machines use bridge mode to access the Internet , Not recommended nat. First, set the fixed for the two virtual machines ip Address , And your physical machine ip Address in one segment , In this way, your virtual machine is very similar to the physical machine of a LAN .

Setting up ip Address :

$ sudo vim /etc/network/interfaces

as follows :

# interfaces(5) file used by ifup(8) and ifdown(8)

auto lo

iface lo inet loopback

auto eth0

iface eth0 inet static

address 192.168.1.252

netmask 255.255.255.0

gateway 192.168.1.1

$ sudo /etc/init.d/networking restart

My virtual machine addresses are set to :192.168.1.251  192.168.1.252  gateway IP:192.168.1.1

After setting up , First, interact with each other in the virtual machine ping, It must be ensured that .

When the environment is ready , We can start , I didn't take rpm The way ,ubuntu Install directly online mysql It's very convenient , A lot of steps are saved .

$ sudo apt-get install mysql-server

By default, it automatically opens after installation , So use netstat -tap|grep mysql See if it's true mysql Services exist

Then check mysql Running state ,service mysql status, Again , There are other orders ,service mysql                  start/stop/restart.

If the following message appears , It means success .

mysql start/running, process 1199

Arrive first before landing /etc/mysql/my.cnf Next take bind-address Comment out , Because it can only be accessed locally by default .

land mysql

mysql -u root -p

grant replication slave,reload,super on *.* to slave @192.168.1.152 identified by '1234'

And then on the other Ubuntu Under the remote test

mysql -u slave -h 192.168.1.151 -p

The preliminary work is ready , Now start configuring :

stay master 192.168.1.251 Your machine is right my.cnf modify , Remember that the following configuration information must be added to 【mysqld】 Module , Placing it elsewhere in the file will cause master Configuration failed .

server-id=1

log_bin=/var/log/mysql/mysql-bin.log

binlog_do_db=student

binlog_ignore_db=mysql

Restart the mysql

sudo  /etc/init.d/mysql restart

If during restart failed, It's suggested to take a look at my.cnf Of log-error Corresponding error log file location , then cat Look at the error message

After entering master Of mysql, First, check whether the binary function on.

show variables like 'log%'

If off It means that it is not turned on , Then return to check my.cnf file , Is it placed in the [mysqld] That piece is medium . Whether the file path is correct

show master status; Then you can see the corresponding file position Information , These are used when setting the slave .

The last to salve 192.168.1.252 Of /etc/mysql/my.cnf The configuration :

server-id=2

log_bin=/var/log/mysql/mysql-bin.log

replicate_do_db=student

Restart the mysql

sudo  /etc/init.d/mysql restart

slave Get into mysql:

stop slave

Then set from master Copy log configuration

change master to master_host='192.168.1.151' ,master_user='slave',master_password='1234',

master_log_file='log.000004',master_log_pos=94;

log_file log_pos It is in master Next show master status What you see file position Information .

start slave;

show slave status\G

Find in the message that appears Slave_IO_Running/Slave_SQL_Running , All for YES It's a success .

If it does NO, Then check log-error Log files , It will be described clearly .

原网站

版权声明
本文为[Brother Xing plays with the clouds]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/182/202207011444341002.html