mysql的安装与部署

目录

一、编码安装mysql 5.7

二、利用php实现mysql的图形化操作

三、mysql 主从复制

            1.异步复制

            2.半同步复制

            3.延迟复制

四、多主模式配置(组复制)

五、mysql 路由器

六、MHA高可用

1.MHA简介

          2.配置实验环境

3.安装并配置MHA

4.手动切换

5.自动切换

6.VIP设定


MySQL是一个关系型数据库管理系统由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

一、编码安装mysql 5.7

1.下载安装包

下载mysql 5.7的编码安装包(可以在官网下载),并解压

2.安装编译所需要的环境

yum install -y cmake
yum install -y ncurses-devel
yum install -y gcc-c++
yum install -y bison

3.编译安装

cd /root/mysql-5.7.31
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 -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=/root/mysql-5.7.31/boost/boost_1_59_0
make                  ##时间较长
make install 

4.更改配置文件、建立数据目录、建立mysql用户、复制启动脚本

vim /etc/my.cnf      ##编辑主配置文件

[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
collation-server=utf8mb4_general_ci

[mysqld_safe]
log-error=/data/mysql/mariadb.log

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

mkdir -p /data/mysql
useradd -M -d /data/mysql/ -s /sbin/nologin mysql
chown mysql.mysql /data/mysql      ##更改权限

5.复制启动脚本、设置全局变量

cp  /root/mysql-5.7.31/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
cd 
vim .bash_profile

PATH=$PATH:$HOME/bin:/usr/local/php/bin/:/usr/local/mysql/bin/

source .bash_profile

6.mysql初始化、开启mysql、更改root用户的密码

mysqld --initialize --user=mysql    ##初始化
/etc/init.d/mysqld start                     ##启动
mysql_secure_installation 

初始化后会随机给root一个密码

启动数据后更改密码

更改完毕后即可用自己设置的密码登陆

二、利用php实现mysql的图形化操作

先在官万下载phpMyAdmin的压缩包

unzip phpMyAdmin-5.0.2-all-languages.zip    ##解压
cp -r phpMyAdmin-5.0.2-all-languages /usr/local/nginx/html/phpmyadmin   ##复制到nginx的默认发目录
vim /usr/local/php/etc/php.ini    ##编辑php-fpm的配置文件

[Pdo_mysql]
; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
pdo_mysql.default_socket=/data/mysql/mysql.sock    ##添加mysql路径

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
; http://php.net/mysqli.default-socket
mysqli.default_socket = /data/mysql/mysql.sock     ##添加mysql路径

nginx   ##开启nginx,须确保nginx可php,并且默认发文件是index.php
systemctl enable --now php-fpm.service  ##开启php-fpm,并设置开机自启

用浏览器访问172.25.0.1/phpmyadmin即可管理数据库 :

三、mysql 主从复制

配置一下所要用的实验环境,给server2和server3也都安装mysql

在server1中,将mysql所需要的文件给server2和server3都复制一遍:

scp -r /usr/local/mysql server2:/usr/local/
scp /etc/my.cnf server2:/etc/
scp /etc/init.d/mysqld server2:/etc/init.d/
scp -r /usr/local/mysql server3:/usr/local/
scp /etc/my.cnf server3:/etc/
scp /etc/init.d/mysqld server3:/etc/init.d/

在server2和server3中,准备启动mysql :

mkdir -p /data/mysql
useradd -M -d /data/mysql -s /sbin/nologin mysql
chown mysql.mysql /data/mysql/
vim .bash_profile

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

source .bash_profile
mysqld --initialize --user=mysql
/etc/init.d/mysqld start
mysql_secure_installation

1.异步复制

1)使用二进制日志文件位置进行异步复制

a.我们先来实现server2复制server1的数据。即server1是主,server2是从

server1中:

vim /etc/my.cnf
[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
symbolic-links=0
collation-server=utf8mb4_general_ci
log-bin=mysql-bin            ##启用二进制日志记录
server-id=1                  ##复制拓扑中的每个服务器都必须配置一个唯一的服务器ID,用于标识复制拓扑中的
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值