两台主机:
主库:192.168.68.125
从库:192.168.68.126
一、安装MYSQL,主库采用yum安装,从库采用源码编译安装。MYSQL主从同步,MYSQL版本需要一致。
1、YUM安装主库:
yum install mariadb mariadb-server mariadb-devel
2、源码安装从库
查看从库MYSQL版,确认与主库一致。这里使用mariadb-5.5.65
下载,预编译,编译,安装
cd /usr/src
wget http://mirrors.163.com/mysql/Downloads/MySQL-5.5/mysql-5.5.60.tar.gz
tar –xzvf mysql-5.5.60
yum install gcc ncurses-devel libaio bison gcc-c++ git cmake ncurses-devel ncurses –y
cd /usr/src/mysql-5.5.60
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55/ \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/usr/local/mysql55/ \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0
make
make install
cp support-files/my-large.cnf /usr/local/mysql55/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
mkdir -p /var/log/mariadb
touch /var/log/mariadb/mariadb.log
mkdir -p /data/mysql
useradd -s /sbin/nologin mysql -M
chown -R mysql. /data/mysql
chown –R mysql. /var/log/mariadb
/usr/local/mysql55/scripts/mysql_install_db --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql55
# add system service,use system service manager mysqld start or stop
chkconfig --add mysqld
chkconfig --level 35 mysqld on
#修改mysql配置文件数据库存放路径:datadir=/data/mysql
vim /etc/my.cnf
service mysqld start
二、配置MYSQL主从
1、配置主库
开启主库二进制日志功能:配置文件[mysqld]模块下,增加:
vim /etc/my.cnf
#在[mysqld]增加以下行:
server-id=125
log-bin=125-bin
确认二进制日志功能是否开启
show master status;
以下显示红圈内容表示已经开启二进制日志功能
授权给126
grant replication slave on *.* to "tongbu"@"192.168.68.126" identified by "123456";
flush privileges;
2、配置从库
与主库一样,修改配置文件,增加:server-id=2
vim /usr/local/mysql55/my.cnf
#在[mysqld]增加以下行
server-id=2
#查看MASTER的position点位,在从库指定MASTER
MariaDB [(none)]> change master to
-> master_host="192.168.68.125",
-> master_user="tongbu",
-> master_password="123456",
-> master_log_file="125-bin.000001",
-> master_log_pos=245;
确认主从是否配置成功,
slave start; show slave status \G。
Slave_IO_Running与Slave_SQL_Running都为YES,表示MYSQL主从配置成功。主库上任何操作都会自动复制到从库。