mysql主从安装详解与经验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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