Welcome 微信登录

首页 / 数据库 / MySQL / Ubuntu下编译安装MySQL双实例并配置主从复制

一.安装前准备
   下载Mysql源码包:推荐官方站点http://www.mysql.com/
   配置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 statusG;
   记录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上查看是否有此表和数据。
六.总结
   上述步骤是在本人配置成功后边回忆边写的,难免有疏漏的地方,欢迎大家批评指正。只要
   能够明白源码 安装的过程,主从复制便十分简单。使用Python 2.7 CURD 操作非关系型数据库MongoDBMySQL五个授权表的功能相关资讯      MySQL基础教程  Ubuntu基础教程 
  • MySQL基础教程:关于varchar(N)  (01月22日)
  • 如何在 Ubuntu 中再次登录时还原上  (04/20/2015 21:02:23)
  • 让你玩转 Ubuntu 桌面的十一件武器  (03/11/2015 09:30:49)
  • 如何在Ubuntu中添加和删除书签  (10/08/2015 11:51:26)
  • 如何通过简单的3步恢复Windows 7同  (03/29/2015 16:50:03)
  • 高性能MySQL(第3版) 中文PDF带目  (10/26/2014 10:03:50)
本文评论 查看全部评论 (0)
表情: 姓名: 字数