1.部署主服务器(主写)
注:部署之前检查是否与真机时间点一致,如不一致需要同步时间点,以免影响主从同步
必做操作
yum -y install ntp //安装时间同步软件
vim /etc/ntp.conf //编辑配置文件
添加参数
server 127.127.1.0 //指定本地作为NTP服务器
fudge 127.127.1.0 stratum 8 //指定本地优先级大于网络同步NTP
/etc/init.d/ntpd start //启动服务
chkconfig --level 35 ntpd on //开机自启
ntpdate 192.168.1.10 //即可使用命令来同步服务器时间IP为主服务器IP
date -s “2018-11-27 09:20” //如发现同步后时间点不一样,需手动更改
hwclock -w //将同步时间写入到bash中,永久生效
注:hwclock --systohc localtime //如不好使,命令以本地时间为基准(默认为utc时间)
crontab -e //指定计划任务,避免时间误差
2.搭建mysql(主)
yum -y install cmake lrzsz //安装专用编译工具,传送包
1)tar zxvf /root/mysql-5.5.22.tar.gz -C /usr/src/ //解压到指定目录
2)cd /usr/src/mysql-5.5.22/ //切换到指定目录
3)cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc/
//指定安装位置及加载字符集支持及配置文件目录
4)make &&make install //编译并安装
1)cp /usr/src/mysql-5.5.22/support-files/my-medium.cnf /etc/my.cnf //拷贝配置文件
2)cp /usr/src/mysql-5.5.22/support-files/mysql.server /etc/init.d/mysqld //拷贝启动脚本
3)chmod +x /etc/init.d/mysqld //赋予启动脚本执行权限
4)chkconfig --add mysqld && chkconfig --level 35 mysqld on //加入系统服务并开机自启
5)echo “export PATH=$PATH:/usr/local/mysql/bin” >>/etc/profile && source /etc/profile
//启动命令加入环境变量中并立即刷新
6)useradd -M -s /sbin/nologin mysql //创建mysql运行用户
7)chown -R mysql:mysql /usr/local/mysql //更改数据库目录属主属组权限
8)/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
//初始化数据库,指定初始化库位置,数据存放位置,运行用户
9)vim /etc/my.cnf //编辑配置文件
50 log-slave-updates=true //开启允许从服务器同步数据
58 server-id=10 //定义标识符,与从服务器不可重复(范围:2的32次方)
10)/etc/init.d/mysqld start //启动服务
11)mysql -u root -p //进去数据库
mysql> grant replication slave on . to ‘slave’@‘192.168.1.%’ identified by ‘123’; //创建主从数据同步用户,专用于同步数据
mysql> flush privileges; //重新加载权限表
mysql> show master status; //查看日志文件名及position号,等待从服务器同步
3.部署从服务器(同步)
配置主从同步
vim /etc/my.cnf //编辑主配置文件
50 relay-log=relay-log-bin //指定从服务器日志文件名=后面名称自定义
51 relay-log-index=slave-relay-bin.index //指定从服务器索引文件名=后面名称自定义
59 server-id=20 //定义标识符,与主从服务器不可重复(范围:2的32次方)
/etc/init.d/mysqld start //启动数据库
mysql -u root -p //登录数据库
mysql>change master to master_host=‘192.168.1.10’,master_user=‘slave’,master_password=‘123’,master_log_file=‘mysql-bin.000003’,master_log_pos=332; //指定同步所需要的选项
详解:change master to //标准格式
:master_host=‘192.168.1.30’ //指定主服务器地址
:master_user=‘slave’,master_password=‘123’ //同步的用户名及密码(主服务创建好的)
:master_log_file=‘mysql-bin.000003’,master_log_pos=332;
//指定主服务器日志文件名及position号,必须与主服务器相同,不然无法同步
mysql>start slave; //开启同步
mysql>show slave status\G; //以竖形结构查看从服务器同步状态
:slave_IO_Running: Yes
: slave_SQL_Running:Yes //检查两个线程是否为yes同步状态
注:可部署两个及多个从服务器,配置及效果相同!!!