Ubuntu下安装Mysql(5.5)和主从功能配置

Ubuntu下安装Mysql5.5)和主从功能配置 html

通过几天的折腾,终于把Mysql主从功能配置好了,其实配置很简单,不过仍是遇到了各式各样的错误,下面总结一下, mysql

在安装以前,能够先ping一下两台服务器是否能够互相通讯, sql

ubuntu下在线安装Mysql相对比较简单,输入以下命令即可自动安装完成。 数据库

sudo apt-get install mysql-server ubuntu

安装的过程当中若是没法正常获取源数据,可使用如下命令安装更新ubuntu的数据源 服务器

sudo apt-get update ide

咱们能够经过netstat -tap|grep mysql来查看系统是否已经有了mysql服务 测试

查询mysql 是否在运行,如输入一下命令 spa

service mysql status rest

mysql start/running, process 10786

Mysql远程登陆测试 

在主机上添加一个帐户slave

进入mysql

输入如下的命令

grant replication slave,reload,super on *.* to slave@xx.103.118.99 identified by 'slave' ;

其中"slave@xx.103.118.99"slave是用户名,密码是'slave';

查看受权是否成功,能够输入如下命令:

select user ,host,password from mysql.user

在从机上进行测试,输入:

mysql -u slave -h xx.103.118.92 –p

若成功,显示以下:

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 38

Server version:5.5.28-0ubuntu0.12.04.3-log (Ubuntu)

 

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

若出现以下错误,

ERROR 2003 (HY000): Can't connect to MySQL server on "host" (111)

须要修改主机的配置文件将地址绑定给注释掉(/etc/mysql/my.cnf):

#bind-address           = 127.0.0.1  <---注释掉这一行就能够远程登陆了

 

Mysql的主从复制原理很简单,就是从服务器读取主服务器的binlog,而后根据binlog的数据库操做记录来更新数据库。根据这一原理,能够对my.cnf配置文件进行相应的修改

主要添加以下配置:

server-id=1

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

binlog_do_db=test   要进行主从复制的数据库

binlog_ignore_db=information_schema 不须要进行主从复制的数据库

 

配置好后重启mysql

sudo /etc/init.d/mysql restart

 

进入mysql,输入:

 

mysql> flush privileges;

mysql> show master status;

+------------------+----------+--------------+--------------------+

| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB   |

+------------------+----------+--------------+--------------------+

| mysql-bin.000011 |      107 | test         | information_schema |

+------------------+----------+--------------+--------------------+

1 row in set (0.00 sec)

 

从机配置:(/etc/mysql/my.cnf):

server-id=2(不能够和主机id同样)

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

replicate-do-db=test       要进行主从复制的数据库

replicate-ignore-db=information_shcema     不须要进行主从复制的数据库

 

配置好后重启mysql

sudo /etc/init.d/mysql restart

 

进入mysql,输入

stop slave;

change master to

master_host='xx.103.118.92',master_user='slave',master_password='slave',master_log_file='log.000011',master_log_pos=107;

 

start slave;

show slave status\G;

若是出现: 

Slave_IO_Running: Yes

Slave_SQL_Running: Yes 

以上两项都为Yes,那说明没问题了。

能够在主机上进行数据操做,看看从机是否会自动同步

若在从机遇到下面的错误,主要是主从同步的问题,Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in

binary log index file'

能够执行一下命令

stop slave;

reset slave;

start slave

 

安装成功后,我又从新安装配置了几回,发现若是没有执行reset slave,问题就没法解决。

相关文章
相关标签/搜索