企业运维——mysql在LAMP架构的应用

目录

一、mysql的安装

1.源码安装包下载

2.安装软件,并编译

解压并安装cmake

安装gcc和gcc-c++

编译

make 

 make install

3.初始化mysql

二、串联Lamp架构,nginx+php+mysql

1.安装软件phpMyAdmin

 2.数据库主从集群环境配置

新建虚拟机做从机。

 复制配置文件和启动脚本到新的服务器。

创建用户和目录,并修改权限,添加mysql命令到环境变量。

初始化过程参照上一章数据库的安装。

3.mysql主从复制得实现

1)配置master节点server5

        配置server5的mysql的server-id和二进制日志名字

         mysql中创建用户repl,并进行授权

 2)配置slave节点server6

        设置server-id

        slave配置复制

        slave状态查看

 3)测试

          master端插入数据

         slave端查看

 4.mysql一主多从架构

查看二进制日志

1)再配置一个新的slave

2)更改上一个slave的配置

3)备份数据

4)6上建立用户,并给权限。

5) 配置slave节点server7

6)测试

 注意:用mysqldump的数据坑


一、mysql的安装

1.源码安装包下载

安装可以参考官方文档

2.安装软件,并编译

解压并安装cmake

安装gcc和gcc-c++

编译

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock -DWITH_INNOBASE_STORAGE_ENGINE=1 -DSYSCONFDIR=/etc -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=/root/mysql-5.7.31/boost/boost_1_59_0   

 注:这张图片来自于“多与少的区别”的微博,很详细感谢啊

 解决错误与警告

执行报错:
 
Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH)

CMake Error at cmake/readline.cmake:85 (MESSAGE):

Curses library not found.  Please install appropriate package,

remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.

编译过程中报错,说明未安装ncurses-devel。

注意:如mysql安装失败重新编译时,需要清除旧的对象文件和缓存信息

编译会生成CMakeCache.txt文件,报错解决依赖性需要先删除这个文件,然后安装ncurses-devel后重新编译。

yum install -y ncurses-devel

 之后重新编译即可。

make 

 make install

3.初始化mysql

 使用mysql用户属性初始化,并修改密码

 查看是否初始化成功

二、串联Lamp架构,nginx+php+mysql

1.安装软件phpMyAdmin

下载并解压

创建软链接,开启php-fpm服务

 在配置文件中指定默认发布页面不然不不能直接访问。

测试:

输入用户名和数据库密码,发现不能访问数据库。

 修改配置文件

重新输入用户和密码:访问成功。

整个Lamp架构部署成功,访问的是nginx,但是因为是php文件,所以交给php-fpm处理,动态语言代码中要连接数据库,访问数据库,然后取数据,返回nginx,最后再返回浏览器。

 2.数据库主从集群环境配置

新建虚拟机做从机。

由于环境相同直接复制编译后的文件,省时间。

 复制配置文件和启动脚本到新的服务器。

创建用户和目录,并修改权限,添加mysql命令到环境变量。

初始化过程参照上一章数据库的安装。

3.mysql主从复制得实现

参照官网文档。

1)配置master节点server5

        配置server5的mysql的server-id和二进制日志名字

         mysql中创建用户repl,并进行授权

slave端复制是需要认证,需要在主库创建的用户repl,并授权。

 2)配置slave节点server6

        设置server-id

        slave配置复制

        slave状态查看

 3)测试

          master端插入数据

         slave端查看

 4.mysql一主多从架构

一主多从的架构适合读多写少的场景,有两中模式:

第一种:A—>B&A---->C;

第二种:A---->B----->C,该模式下,A节点的压力会小一些。

我们这里设置一下第二种——线性模式。

查看二进制日志

在master插入数据查看日志变化

1)再配置一个新的slave

与上一个slave的配置过程基本相同,只需要修改一下的地方。

2)更改上一个slave的配置

由于现在上一个slave变成这个的从,所以需要修改以下。

server6开启二进制日志,因为server7复制时是复制的二进制日志不是中继日志

3)备份数据

使用mysqldump备份server5的westos数据库信息,并拷贝到server7
备份数据库信息时需要锁表,因为当数据信息较大时,备份不会瞬间完成,备份时可能有人正在写入信息,那备份出来的的数据库和当前信息可能不一致,锁表就是可以读不能写。

在7上建立westos数据库,然后导入数据。

4)6上建立用户,并给权限。

5) 配置slave节点server7

6)测试

 注意:用mysqldump的数据坑

 

 

特别鸣谢:“多与少的区别”

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值