Mysql主从复制 (一)安装mysql(主从服务器皆相同) 先创建用户 useradd mysql -s /sbin/nologin tar zxvf mysql-5.1.49.tar.gz cd mysql-5.1.49 [root@centos mysql-5.1.49]# ./configure --prefix=/usr/local/mysql --localstatedir=/opt/data --with-extra-charsets=utf8,gb2312,gbk --with-pthread --enable-thread-safe-client 注:配置过程指定数据文件的位置及另加的字符集. make make install cp support-files/my-large.cnf /etc/my.cnf cd /usr/local/mysql chgrp -R mysql . 生成基本的数据库和表: /usr/local/mysql/bin/mysql_install_db --user=mysql 成功执行后察看数据目录/opt/data,看是否有文件或目录生成. chown -R mysql:mysql /opt/data 记得给每个数据库设置root密码. (二)修改配置文件 不同的地方就是server-id,主服务器配置文件不用修改,从服务器的配置文件server-id=10.其他的内容基本相同. (三)启动服务 /usr/local/mysql/bin/mysqld_safe --user=mysql& 这个过程主辅服务器都相同. (四)授权(在主服务器上进行) GRANT REPLICATION SLAVE ON *.* to 'rep1'@192.168.0.17 identified by 'mysql'; (五)查询主数据库状态(主服务器上进行) mysql> show master status; +------------------+----------+--------------+------------------+ | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000003 |      240 |              |                  | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec) 记下file及position的值,后面做从服务器操作的时候需要用. (六)配置从服务器  mysql> change master to master_host='192.168.0.16', master_user='rep1', master_password='mysql', master_log_file='mysql-bin.000003', master_log_pos=240; 正确执行后再执行: mysql> start slave; 就启用了复制功能.这里我们运行一下 mysql> show slave status\G 来检查一下,一个正常的输出结果应该如下面的形式: mysql> show slave status\G; *************************** 1. row ***************************                Slave_IO_State: Waiting for master to send event                   Master_Host: 192.168.0.16                   Master_User: rep1                   Master_Port: 3306                 Connect_Retry: 60               Master_Log_File: mysql-bin.000003           Read_Master_Log_Pos: 240                Relay_Log_File: mysqlS-relay-bin.000003                 Relay_Log_Pos: 251         Relay_Master_Log_File: mysql-bin.000003              Slave_IO_Running: Yes             Slave_SQL_Running: Yes               Replicate_Do_DB:           Replicate_Ignore_DB:            Replicate_Do_Table:        Replicate_Ignore_Table:       Replicate_Wild_Do_Table:   Replicate_Wild_Ignore_Table:                    Last_Errno: 0                    Last_Error:                  Skip_Counter: 0           Exec_Master_Log_Pos: 240               Relay_Log_Space: 552               Until_Condition: None                Until_Log_File:                 Until_Log_Pos: 0            Master_SSL_Allowed: No            Master_SSL_CA_File:            Master_SSL_CA_Path:               Master_SSL_Cert:             Master_SSL_Cipher:                Master_SSL_Key:         Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No                 Last_IO_Errno: 0                 Last_IO_Error:                Last_SQL_Errno: 0                Last_SQL_Error: 1 row in set (0.00 sec) ERROR: No query specified mysql> (七)主数据库有数据的情况: 1、数据库锁表操作,不让数据再进行写入动作。mysql> FLUSH TABLES WITH READ LOCK; 2、察看主数据库的状态 mysql> show master status; 照第(五)步记录输出值。 3、把主服务器数据文件复制到从服务器,最好先用tar处理一下。 4、取消主数据库锁定 mysql> UNLOCK TABLES; 5、从服务器的操作。跟前面的步骤一样(略过) mysql代理安装配置 一、安装mysql-proxy.需要按下列顺序安装其所依赖的包: (一)安装LUA tar zxvf lua-5.1.4.tar.gz cd lua-5.1.4 用vi修改Makefile,使"INSTALL_TOP=/usr/local/lua",这样做的目的是为了是lua的所有文件都安装在目录/usr/local/lua/ make posix make install   (二)安装 libevent tar zxvf libevent-1.4.14b-stable.tar.gz cd libevent-1.4.14b-stable ./configure --prefix=/usr/local/libevent make make install   (三)安装check tar zxvf check-0.9.8.tar.gz cd check-0.9.8 ./configure make make install   (四)设置安装mysql-proxy所需的环境变量.把下面的内容追加到/etc/profile中 export LUA_CFLAGS="-I/usr/local/lua/include" LUA_LIBS="-L/usr/local/lua/lib -llua -ldl" LDFLAGS="-L/usr/local/libevent/lib -lm" export CPPFLAGS="-I/usr/local/libevent/include" export CFLAGS="-I/usr/local/libevent/include" 然后执行 source /etc/profile (安装完mysql-proxy不再需要这些变量,可以删除之)   (五)安装mysql(只安装mysql客户端即可) tar zxvf  mysql-5.1.49.tar.gz cd mysql-5.1.49 ./configure --prefix=/usr/local/mysql  --without-server make make install 编译安装glib-2.24.2.tar.gz [root@mysqlM ~]# cd glib-2.24.2 [root@mysqlM glib-2.24.2]# ./configure [root@mysqlM glib-2.24.2]# make&make install #export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig 如果上面的不行,应该 #export PKG_CONFIG_PATH=/usr/lib/pkgconfig (六)安装mysql-proxy tar zxvf  mysql-proxy-0.8.0.tar.gz cd  mysql-proxy-0.8.0 [root@mysqlM mysql-proxy-0.8.0]# ./configure --prefix=/usr/local/mysql-proxy --with-mysql=/usr/local/mysql --with-lua [root@mysqlM mysql-proxy-0.8.0]# make [root@mysqlM mysql-proxy-0.8.0]# make install 把路径加入path中 [root@mysqlM bin]# pwd /usr/local/mysql-proxy/bin [root@mysqlM bin]# vi /etc/profile export PATH=$PATH:/usr/local/mysql-proxy/bin [root@mysqlM bin]# source /etc/profile [root@xutest opt]#mysql-proxy -V mysql-proxy: error while loading shared libraries: /usr/local/mysql-proxy/lib/libmysql-chassis.so.0: cannot restore segment prot after reloc: Permission denied 解决办法: 编辑/etc/selinux/config,找到这段: # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=enforcing 把 SELINUX=enforcing 注释掉:#SELINUX=enforcing ,然后新加一行为: SELINUX=disabled 保存,关闭 在你保证SElinux 被disable后.还执行下:chcon -t texrel_shlib_t 例: [root@testserver mysql-proxy-0.8.0]# chcon -t texrel_shlib_t /usr/local/mysql-proxy/lib/libmysql-chassis.so.0 二:使用: [root@xutest opt]#mysql-proxy --help-all           #查看所有的设置选项                                 管理功能选项 --admin-address=host:port -- 指定一个mysqo-proxy的管理端口,缺省是 4041 代理功能选项 --proxy-address=host:port -- 这个是mysql-proxy 服务器端的监听端口,缺省是 4040 --proxy-read-only-backend-addresses= -- 远程只读Slave服务器的地址和端口,缺省为不设置(本选项在mysql-proxy0.5.0版本中没有) --proxy-backend-addresses=host:port -- 指定远程MySQL服务器地址和端口,可以设置多个, --proxy-skip-profiling -- 关闭查询分析功能,缺省是打开的 --proxy-fix-bug-25371 -- 修正 mysql的libmysql版本大于5.1.12的一个#25371号bug --proxy-lua-script=file -- 指定一个Lua脚本程序来控制mysql-proxy的运行和设置,这个脚本在每次新建连接和脚本发生修改的的时候将重新调用 其他选项 --daemon -- mysql-proxy以守护进程方式运行 --pid-file=file -- 设置mysql-proxy的存储PID文件的路径 看来mysql-proxy只能研究到这儿了,很多人都不建议这个东西应用到生产环境中,我也很害怕业务应用中我会死在这上面,还是等他成熟之后再说吧,听取秋香姐的建议,读写分离还是采用程序(他使用的是正则表达式)来实现吧。

linux mysql-proxy 0.8.0_mysql主从复制及mysql-proxy0.8安装相关推荐

  1. mysql5.7版本源_用最新MySQL 8.0的源安裝MySQL 5.7版本(CentOS 7環境下)

    起因: 從官網下了MySQL最新8.0版本的源,安裝了MySQL 8.0.13,但是發現版本太新了跟其他軟件不兼容,而且改了半天其他軟件配置都沒改好(囧rz)...算了,卸載了8.0,還是安回5.7的 ...

  2. mysql 4.0.27 下载,CentOS编译Mysql 4.0.27数据库问题解决

    CentOS编译Mysql 4.0.27数据库问题解决以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 现在好多人都用起了 ...

  3. mysql 9.0创建数据库_PHP与MySQL学习笔记9:创建Web数据库

    1.在服务器上部署MySQL服务基本步骤合注意点 1)安装MySQL(命令安装.安装包安装等) 2)考虑是否需要一个独立的操作系统用户权限来运行MySQL程序. 3)路径的设置 4)root密码 (附 ...

  4. mysql proxy 编译安装_编译安装MySQL Proxy 0.8.1常见报错分析

    此文属于网络收集而来,具体出处由于日子过于久远,无法准确的定位,如果本文章作者看到,可以联系我Mail:BOB.WU@LIVE.COM进行备注或者删除. 发布此文,是因为这些报错大家确实经常见到,也是 ...

  5. mysql proxy 分库分表_OneProxy实现MySQL分库分表

    简介 Part1:写在最前 随着网站的壮大,MySQL数据库架构一般会经历一个过程: 当我们数据量比较小的时候,一台单实例数据库足矣.等我们数据量增大的时候,我们会采用一主多从的数据库架构来降低我们的 ...

  6. Linux 安装 MySQL 8.0

    Linux 安装 MySQL 8.0 1-MySQL 下载 2-MySQL 安装 3-MySQL 连接 4-MySQL 问题 4.1-初始化失败 4.2-无法远程登录 4.3-用户授权错误 4.4-N ...

  7. archlinux安装mysql_Arch Linux 安装 MySQL 8.0

    Arch Linux 安装 MySQL 8.0 目录 Arch Linux 安装 MySQL 8.0 第一步: 更新源 第二步: 安装 MySQL 第三步: 初始化 第四步: 开机自启 第五步: 启动 ...

  8. centos 安装mysql-proxy_详解在Centos 5.2下安装最新Mysql Proxy LUA教程

    在Centos 5.2下安装***Mysql Proxy LUA教程是本文要介绍的内容,主要是来了解Mysql Proxy LUA的安装过程,文章中有很详细的讲解,具体内容来看本文详解. mysql ...

  9. centos mysql proxy_在Centos 5.2下安装最新的MySQL Proxy

    mysql proxy的代码树已经迁移到lauchpad,采用bazaar进行版本管理.参考了一些文档,在CentOS 5.2下编译安装最新mysql proxy成功.步骤记录如下(在centos 5 ...

最新文章

  1. 搭建基于Spring Cloud的微服务应用
  2. 零基础Java学习之抽象类
  3. mysql 查询优化器跟踪_3. select语句执行过程-优化器
  4. JQuery面试题1
  5. 针对Python中冒号的详细解释
  6. klearn 文本分类_使用gensim和sklearn搭建一个文本分类器
  7. 搜集的一些有意思的牛人博客地址
  8. 图片格式转换大小调整工具_如何轻松快速地将图片转换到JPG/JPEG/PNG/BMP/TIFF
  9. SQL Server -- SQL NULL值,ISNull(),Oracal NVL(),MYSQL IFNULL(),COALESCE()
  10. mysqli 语句和mysql语句一样吗_如何为动态sql语句准备mysqli语句
  11. JavaScript学习(九十二)—关联数组的基本操作
  12. 金融分析师 python_金融分析中的Python环境搭建
  13. Screen Space Reflection 2
  14. 软件工程计算机组成原理,软件工程--0计算机组成原理.pdf
  15. 使用Echarts绘制力导向图
  16. Eclipse设置各类型文件默认打开方式
  17. android中drawable的自建资源
  18. android 键编译,Android 音视频学习系列 (四) 一键编译 32/64 位 FFmpeg 4.2.2
  19. 创业项目融资似乎很容易。而事实上,真正创业拿到融资的项目连1%都不到。
  20. 使用Laravel提交POST请求出现The page has expired due to inactivity错误

热门文章

  1. 吉利、LG化学成立合资公司 从事电动车电池生产及销售
  2. 3月19日发布!vivo X27配置揭晓:搭载骁龙710处理器
  3. “生而强悍” vivo iQOO官宣3月1日发布
  4. python json.dumps 中的ensure_ascii 参数引起的中文编码问题
  5. cressman插值_NCL自带常用插值函数集锦
  6. 爬虫教程 python3_【Python3爬虫】Appium入门教程
  7. pdf在线翻译_如何将英文的PDF文档翻译成中文简体?
  8. 95-20-025-启动器-AbstractBootstrap
  9. 【Elasticsearch】将数据预加载到文件系统缓存中
  10. 【Elasticsearch】 es 集群发现机制