MySQL支持单向、异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。这与同步复制可以进行对比,同步复制是MySQL的一个特征。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置。从服务器接收从那时起发生的任何更新,然后并等待主服务器通知新的更新。
------------------------------------------------------------------------------------------------------
实验环境在redhat6.4 ▎ 安装包使用的mysql-5.5.33版本的。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.下载完mysq安装包到主服务器上
mysql-5.5.33-linux2.6-x86_64.tar.gz
2.复制安装包到从服务器上
[root@yulong ~]# scp mysql-5.5.33-linux2.6-x86_64.tar.gz root@172.16.8.11:/root
3.解压包到指定路径下
tar xf mysql-5.5.33-linux2.6-x86_64.tar.gz -C /usr/local
4.新建一个mysql用户和mysql的数据库目录,修改创建的目录属主和属组为mysql
[root@yulong local]# useradd -r -u 306 mysql [root@yulong local]# mkdir -pv /mydata/data [root@yulong local]# chown -R mysql:mysql /mydata/data/ [root@yulong local]# ls -ld /mydata/data/ drwxr-xr-x 2 mysql mysql 4096 Aug 26 11:52 /mydata/data/
5.创建一个软连接为mysql,并把mysql里面的文件属主改为root属组为mysql
[root@yulong local]# ln -sv mysql-5.5.33-linux2.6-x86_64 mysql `mysql' -> `mysql-5.5.33-linux2.6-x86_64' [root@yulong local]# cd /usr/local/mysql [root@yulong mysql]# chown -R root:mysql *
6.初始化数据库一些准备
[root@yulong ]# cd /usr/local/mysql [root@yulong mysql]# cp support-files/my-large.cnf /etc/my.cnf [root@yulong mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld [root@yulong mysql]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh [root@yulong mysql]# . /etc/profile.d/mysql.sh cp主配置文件 cpmysq.server脚本到启动路径下 输出环境变量 重读下环境变量配置文件
7.初始化mysql数据库
[root@yulong mysql]# vim /etc/my.cnf datadir=/mydata/data innodb_file_per_table = 1 [root@yulong mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data/ Installing MySQL system tables... OK Filling help tables... OK
8.启动mysql服务
[root@yulong mysql]# service mysqld start [root@yulong mysql]# netstat -tnlp tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3018/mysqld
9.下面配置主服务的一些参数,使从服务器可以同步数据
[root@yulong mysql]# mysql mysql> grant replication slave,replication client on *.* to tom@'172.16.%.%' identified by 'redhat'; mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> show master status; +------------------+----------+--------------+--------------

