Home >Database >Mysql Tutorial >Ubuntu下编译安装MySQL双实例并配置主从复制

Ubuntu下编译安装MySQL双实例并配置主从复制

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:07:591140browse

一.安装前准备 下载Mysql源码包:推荐官方站点http://www.mysql.com/ 配置Ubuntu环境 添加mysql用户组和用户: groupadd

一.安装前准备
   下载Mysql源码包:推荐官方站点
   配置Ubuntu环境
   添加mysql用户组和用户:
   groupadd mysql
   useradd -g mysql mysql
   创建安装所需目录
   master实例安装目录:
   mkdir /opt/mastermysql/
   mkdir /opt/mastermysql/data/
   slave实例安装目录:
   mkdir /opt/slavemysql/
   mkdir /opt/slavemysql/data
  
   更改权限:
   chown mysql:mysql -R /opt/mastermysql/data
   chown mysql:mysql -R /opt/slavemysql/data  
二. 安装master实例
   将源码包复制到主目录 /root
   解压:
   cd /root
   mkdir mastermysql
   tar -xv -f  mysql-5.5.18.tar.gz -C ~/mastermysql
   进入到源码目录:
   cd mastermysql/mysql-5.5.18
   编译配置:  
    cmake -DCMAKE_INSTALL_PREFIX=/opt/mastermysql 
-DSYSCONFDIR=/opt/mastermysql/etc   
    -DMYSQL_DATADIR=/opt/mastermysql/data -DMYSQL_TCP_PORT=3307
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_USER=mysql
-DEXTRA_CHARSETS=all
-DWITH_READLINE=1 -DWITH_SSL=system
-DWITH_EMBEDDED_SERVER=1 -DENABLED_LOCAL_INFILE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
    -DWITHOUT_PARTITION_STORAGE_ENGINE=1
   make
   make install
   安装完成,配置并初始化数据库
   make /opt/mastermysql/etc
   cp support-files/my-medium.cnf /opt/mastermysql/etc/my.cnf
   初始化数据库
   chmod 755 scripts/mysql_install_db
   scripts/mysql_install_db --user=mysql --basedir=/opt/mastermysql
   --datadir=/opt/mastermysql/data
   创建管理mysql数据库的shell脚本
   mkdir /opt/mysql/init.d
   cp support-files/mysql.server /opt/mastermysql/init.d/mysql
   赋予shell脚本可执行权限:
   chmod +x /opt/mastermysql/init.d/mysql
  
三. 安装slave实例
   将第二步中所有的master字符替换成slave,configure中的DMYSQL_TCP_PORT参数换成3308
四.配置master-slave
   启动master-slave实例:
   /opt/mastermysql/init.d/mysql start
   /opt/slavemysql/init.d/mysql start
   配置master
   vi /opt/mastermysql/etc/my.cnf
      添加:server-id=1
log-bin=mysql-bin
   登陆master实例
   /opt/mastermysql/bin/mysql -uroot
   创建复制账户
   grant replication on *.* repl@localhost identified by '123456'
   show master status\G;
   记录File,Position的值后面会用到
   登陆slave实例
   /opt/slavemysql/bin/mysql -uroot
   配置master-slave
   change master to master_host='127.0.0.1',master_port=3307,master_user='repl',
   master_password='123456',master_log_file='上述File的内容’,
   master_log_pos='上述Position的内容';
   start slave;
五.测试
   因为两个数据库都是同一份源代码最新的安装,所以他们数据库的内容是以一样的,也就
   不需要同步。 在master上创建表,并插入数据,,在slave上查看是否有此表和数据。
六.总结
   上述步骤是在本人配置成功后边回忆边写的,难免有疏漏的地方,欢迎大家批评指正。只要
   能够明白源码 安装的过程,主从复制便十分简单。

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn