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

14 篇文章 0 订阅

一.安装前准备

   下载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 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上查看是否有此表和数据。
六.总结
   上述步骤是在本人配置成功后边回忆边写的,难免有疏漏的地方,欢迎大家批评指正。只要
   能够明白源码  安装的过程,主从复制便十分简单。
   参考资料:

最近在深入学习mysql,打算向mysql dba方向发展。希望能够和志同道合的朋友共同进步,qq:244236866  
email:lpfvip2008@gmail.com  微博:http://weibo.com/u/1900145317
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu 22.04是一种Linux操作系统,而MySQL主从复制MySQL数据库的一种高可用性和数据备份方案。在Ubuntu 22.04上配置MySQL主从复制可以实现数据的自动同步和故障切换。 以下是在Ubuntu 22.04上配置MySQL主从复制的步骤: 1. 安装MySQL:在Ubuntu 22.04上安装MySQL数据库,可以使用以下命令: ``` sudo apt update sudo apt install mysql-server ``` 2. 配置主服务器(Master):编辑MySQL配置文件`/etc/mysql/mysql.conf.d/mysqld.cnf`,找到并修改以下参数: ``` bind-address = 0.0.0.0 log_bin = /var/log/mysql/mysql-bin.log server-id = 1 ``` 3. 重启MySQL服务:执行以下命令重启MySQL服务以使配置生效: ``` sudo systemctl restart mysql ``` 4. 创建复制账户:登录MySQL服务器,创建用于复制的账户,并授予复制权限: ``` mysql -u root -p CREATE USER 'replication'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%'; FLUSH PRIVILEGES; ``` 5. 备份主服务器数据:使用`mysqldump`命令备份主服务器的数据,并将备份文件传输到从服务器(Slave): ``` mysqldump -u root -p --all-databases --master-data > backup.sql scp backup.sql user@slave_ip:/path/to/backup.sql ``` 6. 配置从服务器:在从服务器上,编辑MySQL配置文件`/etc/mysql/mysql.conf.d/mysqld.cnf`,找到并修改以下参数: ``` bind-address = 0.0.0.0 server-id = 2 ``` 7. 导入备份数据:在从服务器上导入主服务器的备份数据: ``` mysql -u root -p < backup.sql ``` 8. 启动从服务器复制:登录从服务器的MySQL,执行以下命令启动复制过程: ``` mysql -u root -p CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=XXX; START SLAVE; ``` 完成以上步骤后,MySQL主从复制配置完成了。主服务器上的数据更改将自动同步到从服务器上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值