Heim > Datenbank > MySQL-Tutorial > Ubuntu下编译安装MySQL双实例并配置主从复制

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-07 17:07:59
Original
1138 Leute haben es durchsucht

一.安装前准备 下载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

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage