mysql主从安装详解与经验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

安装前的确认:

1,是否存在mysql这个用户

finger mysql

2,如果不存在,请切换root用户,添加mysql用户和mysql组

添加mysql组:

groupadd mysql

用户可以建立一个专门用于MySQL的用户组和用户名,用于启动和关闭MySQL数据库,以及对数据库的一些操作。建立用户组可以使用如下命令:

#groupadd mysql//创建mysql组

命令执行完毕后用户可以查看/etc/group文件,正确添加用户组后,用户可以在该文件中看到类似于以下的一行内容:

mysql:x:101:

添加mysql用户:

useradd–g mysql mysql

添加了用户组后,接着应该添加用户。在Linux下添加用户使用useradd命令。此处,添加一个名为mysql的用户,使用的命令如下:

#useradd-g mysql mysql

该命令用于创建mysql用户,并放到mysql组里。-g参数选项用于指定一个组名,并将新建的用户添加到该组,作为该组的一个成员。

3,可以打开下载解压的tar包,查看其中的文件,获知安装时需要配置的内容

4,检查mysql默认使用的3306端口是否被占用

netstat–nat|grep3306

netstat–nat|grep LISTEN

开始安装:

1,解压tar包文件

tar zvxf mysql-5.1.45.tar.gz

2,进入解压的目录内

cd mysql-5.1.45

3,配置相关mysql安装参数

./configure--prefix=/home/work/mysql_user--with-charset=utf8--with-extra-charsets=all --with-tcp-port=3316--with-unix-socket-path=/home/work/mysql_user/var/mysql.sock --with-plugins=innobase

4,make

5,make install

6,多人同时使用一个mysql源文件目录进行安装时,需要先make clean

7,检查是否安装成功,在bin目录下

./mysql_install_db--basedir=/home/work/mysql_msg--datadir=/home/work/mysql_msg/var

有些账号在mysql_install_db时不具有/user/local/var目录权限。

可以通过./mysql_install_db--basedir=/home/work/mysql_test--datadir=

/home/work/mysql_test/var进行灵活的修改,修改为当前安装目录下即可。

8,配置完成后,启动mysql;nohup./bin/mysqld_safe&

9,查看设置的端口是否正常监听到:netstat–nat|grep LISTEN

10,检查数据库是否搭建成功:通过客户端登陆验证

Mysql登录:./bin/mysql–h****-u*****-P******-p****

-u:用户名

-P:监听的端口号

-p:密码

-h:数据库服务器ip地址

二,设置主从库同步

1,首先停止主数据库

启动和停止数据库可以有以下两种方法:

方法一:

./bin/mysqladmin–u–P–p–h shutdown

-u用户名

-P数据库端口号

-p密码

-h数据库服务器ip地址

方法二:./mysql.server stop(start/restart)

需要将share/mysql/f文件拷贝到/home/work/mysql_iyouxi目录下,就可以直接执行mysql.server命令;或者直接去share/mysql目录下去执行mysql.server命令

2,拷贝主库var目录下的文件到从数据库的var目录下,需要拷贝的内容包括:

1)各数据库文件夹(除mysql目录以外的其他目录)

2)ibdata1开头的文件

3,修改主数据库的配置文件f(刚才拷贝出来的那个cnf文件)

在mysqld节点下,设置:

log-bin=mysql-bin

binlog_format=mixed

server-id=1

****设置mysql log路径****(打开慢查询记录log和mysql查询日志log文件)

log-bin=mysql-bin

log-slave-updates

log=mysql.log

log-slow-queries=slow.log

long_query_time=2

4,同样,修改从数据库f文件的内容(刚才拷贝出来的那个cnf文件)

在mysqld节点下,设置:

server-id=2(不能与主库的id相同,一般设置主库为1,从库为2,3,4,,,,,)

master-host=10.48.234.12(主库的ip地址)

master-user=root(主库的user)

master-password=123456(主库的password)

master-port=3307(主库的端口号,这里从库的端口号必须和主库的一致)

5,此时,启动主数据库,并为主数据库创建一个同步用户

GRANT REPLICATION SLAVE ON*.*TO'slavesyn'@''IDENTIFIED BY'123456';

这个语句意味着从库可以用slavesyn的账号来镜像主库,密码是123456,这个账户和密码就是配置在从库f中的

master-user=root//主库的user

master-password=123456//主库的密码

运行flush privileges使步骤3的授权生效

6,查看当前主数据库状态:

show master status;

7,启动从数据库

8,确认从库镜像主库的镜像点:

Change master to Master_Log_File=’mysql-bin.000006’,Master_Log_Pos=106;

这里黄色位置的信息必须与主数据库show master status;的结果信息一致。

change master to

master_host='192.168.126.118',master_user='backup',master_password='123456', master_log_file='mysql-bin.000010',master_log_pos=98;

slave start;

如果出现以下报错:

ERROR1200(HY000):The server is not configured as slave;fix in config file or with CHANGE MASTER TO

出现这种报错可以通过执行Change master语句来解决:

change master to

master_host='192.168.126.118',master_user='backup',master_password='123456', master_log_file='mysql-bin.000010',master_log_pos=98;

9,启动从库的同步:

start slave;(停止命令:stop slave)

10,查看从服务器的状态:

show slave status\G;

主要查看下面两项:

Slave_IO_Running:YES

Slave_SQL_Running:YES

相关文档
最新文档