实验一mysql部署

环境:Linux-CentOs7
四种方式:

  1. yum-wget-rpm
  2. 二进制
  3. 编译源码
    4. docker【推荐】

在这里插入图片描述

删除mysql

  1. 删除软件包
    在这里插入图片描述
  2. 删除数据,配置,日志文件
    在这里插入图片描述

方式一:rpm包(通过yum软件包管理器与wget工具)

包括服务器端与客户端两类。

  1. 获取rpm软件包链接
    网站:https://dev.mysql.com/downloads/repo/yum/
    适用linux7:https://dev.mysql.com/get/mysql84-community-release-el7-2.noarch.rpm

  2. 下载软件包文件
    yum -y install wget
    wget https://dev.mysql.com/get/mysql84-community-release-el7-2.noarch.rpm
    在这里插入图片描述

  3. 关闭防火墙与SELinux
    systemctl disable firewalld
    setenforce 0
    systemctl status firewalld
    getenforce

  4. 通过yum-config-manager命令工具选择5.7版本(否则默认会是最新版本)
    yum-config-manager --disable mysql180-community
    yum-config-manager --enable mysql157-community
    yum repolist enabled | grep mysql

  5. 配置镜像仓库与版本进行安装
    rpm -ivh mysql84-community-release-el7-2.noarch.rpm
    yum install -y mysql-community-server
    在这里插入图片描述

  6. 启动服务,查看端口
    service mysqld status
    (或者 systemctl status mysql)
    systemctl start mysql
    ss -nat | grep 3306
    在这里插入图片描述
    在这里插入图片描述

方式二:二进制(经过编译生成软件包)


在这里插入图片描述

方式三:源码(需要自行编译)

单独下载依赖包,根据不同需求,自由灵活设定参数,手动安装

  1. 卸载centos原默认数据库:MariaDB
    rpm -e --nodeps mariadb-libs
    不过可能出现软件包 mariadb-libs 已经被 mysql-community-libs 取代
    在这里插入图片描述

  2. 准备依赖包
    yum -y install gcc gcc-c++ ncurses ncurses-devel cmake bison bison-devel

  3. wget获取源码,boost依赖包(时间较长)
    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25.tar.gz
    wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  4. 解压,预编译
    tar xzf boost_1_59_0.tar.gz
    cd mysql-5.7.25.tar.gz
    cmake .

  5. 编译,添加环境变量
    make -j KaTeX parse error: Undefined control sequence: \n at position 61: …stall echo -e '\̲n̲\nexport PATH=/…PATH\n’ >> /etc/profile && source /etc/[rpfile

  6. 复制可执行文件,授权,开机自启
    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    chmod +x /etc/init.d/mysqld
    systemctl enable mysqld
    systemctl start mysqld

  7. 在错误日志查看初始随机密码
    grep ‘temporary password’ /var/log/mysqld.log

方式四:docker(容器化管理)【推荐】

  1. 选择版本,拉取镜像:
    docker pull mysql:8.0

  2. 数据持久化:
    目录挂载与数据卷挂载二选一】推荐前者
    mkdir -p /mysqldata/mysql/{data,conf,log}
    运行容器并挂载目录:
    docker run --name mysql -p 3306:3306 \ -v /mysqldata/mysql/data:/var/lib/mysql \ -v /mysqldata/mysql/conf:/etc/mysql \ -v /mysqldata/mysql/log:/var/log/mysql \ -e MYSQL_ROOT_PASSWORD=yourpassword -d mysql:8.0

【如果运行了目录挂载还运行数据卷挂载会出现冲突】
在这里插入图片描述
数据卷:
docker volume create mysql_data
docker run -d --name mysql-container \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=yourpassword \ mysql:8.0

  1. 环境变量配置
    MySQL容器支持以下常用环境变量:
    MYSQL_ROOT_PASSWORD:root用户密码(必需)
    MYSQL_DATABASE:容器启动时创建的数据库
    MYSQL_USER, MYSQL_PASSWORD:创建新用户及密码

  2. 默认情况下MySQL容器只允许本地连接,需要配置远程访问:
    进入容器
    docker exec -it mysql-container bash
    登录MySQL
    mysql -u root -p
    执行SQL命令允许root用户远程连接(MySQL 8.0)
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
    GRANT ALL ON *.* TO 'root'@'%';
    FLUSH PRIVILEGES;

  3. 检查状态
    docker ps -a | grep mysql
    docker logs mysql-container

  4. 测试连接
    容器内连接
    docker exec -it mysql-container mysql -u root -p
    宿主机连接,【先进入容器内部】
    docker exec -it mysql-container bash
    mysql -h 127.0.0.1 -P 3306 -u root -p

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值