关于mysql的复制的安装和设置(二)

本文介绍如何通过配置MySQL的主从复制实现数据同步。主要内容包括配置从服务器(my.cnf)、初始化数据目录、启动复制进程及验证同步效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打开另外一个终端,配置另外一个slave服务器

建立配置文件

xml 代码
  1. [mysqld]   
  2. datadir=/xxx/mysqlslave1/var   
  3. socket=/xxx/mysqlslave1/mysql.sock   
  4. port=7003  
  5. old_passwords=1  
  6.   
  7. master-host=127.0.0.1   
  8. master-port=7001  
  9. master-user=repl  
  10. master-password=slavepass  
  11. replicate-do-db=video  
  12. log-warnings   
  13. master-connect-retry = 60  
  14.   
  15. log-bin=mysql-bin   
  16. server-id=1270000000017003  
  17. log-slave-updates   
  18.   
  19. [mysqld_safe]   
  20. err-log=/xxx/mysqlslave1/mysqld.log   
  21. pid-file=/xxx/mysqlslave1/var/test2.pid   
  22.   
  23. [mysql.server]   
  24. user=mysql  
  25. basedir=/xxx  

这里需要注意的是,文件里面设置了master服务器的地址、端口、复制的用户名、密码等信息。

运行下面的命令初始化数据目录:

  1. # mysql_install_db --defaults-file=/xxx/mysqlslave1/my.cnf   
  2. # chown -R mysql.mysql /xxx/mysqlslave1/var   
  3. # cp -ar /xxx/mysqlmaster/var/video /xxx/mysqlslave1/var  

这里的cp拷贝命令是在master数据库设计了read-lock之后进行的,所以过程是安全的。下面启动slave库,启用主库到从库的复制:

  1. # mysqld_safe --defaults-file=/xxx/mysqlslave1/my.cnf &   
  2. # mysql -uroot -S /xxx/mysqlslave1/mysql.sock   
  3. mysql > CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=7001, MASTER_USER='repl', MASTER_PASSWORD='slavepass', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=1712;   
  4. mysql > START SLAVE;   

这里需要注意的是:MASTER_LOG_POS=1712这里的数字要和master中显示的位置设置的相同

为了检测slave库是否已经和master库进行了同步复制的连接,可以用下面两种方法进行复制,进入到主库的控制台中:

  1. mysql> UNLOCK TABLES;   
  2. mysql> use video;   
  3. mysql> insert into test set name="mars";  

这时如果从库中增加了相同的纪录,说明配置已经成功了

  1. mysql > show processlist \G   
  2.   
  3. *************************** 1. row ***************************   
  4.      Id: 3  
  5.    User: root   
  6.    Host: localhost   
  7.      db: video   
  8. Command: Query   
  9.    Time: 0  
  10.   State: NULL   
  11.    Info: show processlist   
  12. *************************** 2. row ***************************   
  13.      Id: 4  
  14.    User: repl   
  15.    Host: localhost:35846  
  16.      db: NULL   
  17. Command: Binlog Dump   
  18.    Time: 3172  
  19.   State: Has sent all binlog to slave; waiting for binlog to be updated   
  20.    Info: NULL  
如果出现了下面的列表,说明同步设置已经成功
内容概要:本文详细介绍了C语言指针字符串操作的基础知识与高级技巧。指针部分涵盖了指针作为数据类型的特点,包括指针变量的定义、间接赋值的应用场景及其重要性,以及不同级别的指针如何在函数间传递并修改实参的值。同时强调了指针操作的安全性问题,如不允许向NULL或未知地址拷贝内存,并讲解了`void*`指针的作用及其转换规则。字符串操作部分则重点讨论了字符串初始化、`sizeof`与`strlen`的区别、字符`\0`的作用及其与其他符号的区别,还展示了数组法指针法两种操作字符串的方式,并给出了几个常见的字符串处理算法实例,如统计子串出现次数、去除字符串两端空白字符等。 适用人群:具有初步C语言基础的学习者,特别是对指针字符串操作有进一步需求的编程人员。 使用场景及目标:①帮助读者深入理解指针的工作机制,掌握通过指针间接访问修改内存的技术;②使读者能够熟练运用字符串操作的基本函数,并能编写高效的字符串处理代码;③培养读者的安全意识,避免因不当使用指针而导致程序崩溃或产生未定义行为。 阅读建议:由于指针字符串是C语言中较为复杂的概念,建议读者在学习过程中多做笔记,动手实践书中的示例代码,尤其要注意理解指针间接赋值的原理,以及字符串处理函数的具体实现细节。此外,对于`void*`指针的理解使用,应特别留意其类型转换的要求,确保代码的安全性正确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值