博客
关于我
centos 7.3 启动mysql_centos7.3 搭建MySQL
阅读量:804 次
发布时间:2023-01-26

本文共 3064 字,大约阅读时间需要 10 分钟。

MySQL 数据库安装配置详细指南

安装和配置 MySQL 数据库是一项较为常见的任务,但需要仔细理解每一步操作以确保顺利完成。本文将基于个人实践经验,逐步指导如何在 Ubuntu/Linux 服务器环境下安装和配置 MySQL 5.7 并进行初步цион设置。

一、安装软件环境

首先,我们需要准备安装的软件环境。为了顺利完成本次设置,建议使用以下软件版本:

  • 操作系统:Ubuntu 18.04+

  • 必要的编译工具:安装了 gcc、gcc++ 等开发环境工具

  • 安装编译环境

    sudo apt-get install gcc gcc-c++ ncurses-devel bison cmake

    下载并安装 boost 库

    boost 是一个强大的 C++ 辅助库,在 MySQL 的构建过程中作用重要。当前版本推荐使用 1.59.0:

    sudo apt-get install curl tartar zxvf boost_1_59_0.tar.gz -C /usr/local/sudo mv boost_1_59_0/ boost

    创建数据库管理用户

    为数据库服务分配管理用户权限:

    sudo useradd -s /sbin/nologin mysql

    安装 MySQL 数据库

    下载适用于目标平台的 MySQL 5.7 tariffs:

    tar zxvf mysql-5.7.17.tar.gz -C /mysql/cd mysql-5.7.17

    通过 cmake 配置构建

    根据需求配置构建环境:

    cmake \  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \  -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \  -DSYSCONFDIR=/etc \  -DSYSTEMD_PID_DIR=/usr/local/mysql \  -DDEFAULT_CHARSET=utf8 \  -DDEFAULT_COLLATION=utf8_general_ci \  -DWITH_INNOBASE_STORAGE_ENGINE=1 \  -DWITH_ARCHIVE_STORAGE_ENGINE=1 \  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \  -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \  -DMYSQL_DATADIR=/usr/local/mysql/data \  -DWITH_BOOST=/usr/local/boost \  -DWITH_SYSTEMD=1

    开始构建

    接着进行构建和安装:

    make && make install

    由于构建过程可能会遇到错误,需要注意以下几点:

    • CMake 错误处理:若发生 cmake 错误,请清除 CMakeCache.txt 文件后重新运行 cmake,并确保所有依赖已经正确安装。
    • 编译时间较长:请耐心等待,直至所有项目均完成编译。

    二、目录和权限设置

    在安装完成后,我们需要设置相关目录的权限:

    sudo chown -R mysql:mysql /usr/local/mysql/

    特别提示:MySQL 5.7 与前几代版本在配置文件方面有差异,建议仔细检查并根据实际需要修改配置文件。

    三、配置数据库服务

    修改 my.cnf 配置文件

    默认配置文件位于 /etc/my.cnf,我们需要根据实际需求进行修改。以下是一个基本配置示例:

    [client]port = 3306default-character-set=utf8socket = /usr/local/mysql/mysql.sock[mysql]port = 3306default-character-set=utf8socket = /usr/local/mysql/mysql.sock[mysqld]user = mysqlbasedir = /usr/local/mysqldatadir = /usr/local/mysql/dataport = 3306character_set_server=utf8pid-file = /usr/local/mysql/mysqld.pidsocket = /usr/local/mysql/mysql.sockserver-id = 1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTESchown mysql:mysql /etc/my.cnf

    设置环境变量

    为数据库服务添加可执行路径到系统环境变量中:

    echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' > /etc/profileecho 'export PATH' > /etc/profilesource /etc/profile

    四、数据库初始化

    重新准备数据库目录

    cd /usr/local/mysql/bin/mysqld \  --initialize-insecure \  --user=mysql \  --basedir=/usr/local/mysql \  --datadir=/usr/local/mysql/data

    ###start数据库服务

    systemctl daemon-reloadsudo systemctl enable mysqldsudo systemctl start mysqld# 检查运行状态sudo systemctl status mysqld

    添加数据库用户

    建议为数据库操作人员授权远程访问权限。使用 MySQL 语句进行权限分配:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password_here' WITH GRANT OPTION;

    提示:根据实际需求可对权限进行精细化管理,确保仅授权必要操作人员使用数据库。

    五、验证运行状态

    完成配置后,建议对数据库服务进行全面验证:

    systemctl status mysqld

    进一步验证数据库通信是否正常:

    netstat -tuln | grep 3306

    六、注意事项

  • 防火墙配置:请确保防火墙设置正确,允许 MySQL 关于 3306 端口的通信。

    sudo ufw allow out 3306
  • 数据备份与恢复:建议及时备份数据库数据,确保数据安全。如果需要应用数据恢复,记得备份策略的执行。

  • 定期维护:定期进行数据库监控、优化和清理操作,确保数据库运行状态良好。

  • 本文介绍了 MySQL 5.7 在 Ubuntu/Linux 环境下的安装与配置方法,并提供了基础的操作指南。通过以上步骤,读者可以成功搭建一个功能完善的 MySQL 数据库服务。之后,可以根据实际应用需求进一步优化数据库配置,引入高可用性架构(如主从复制、Galera cluster 等)。

    转载地址:http://kyryk.baihongyu.com/

    你可能感兴趣的文章
    Mysql 整形列的字节与存储范围
    查看>>
    mysql 断电数据损坏,无法启动
    查看>>
    MySQL 日期时间类型的选择
    查看>>
    Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
    查看>>
    MySQL 是如何加锁的?
    查看>>
    MySQL 是怎样运行的 - InnoDB数据页结构
    查看>>
    mysql 更新子表_mysql 在update中实现子查询的方式
    查看>>
    MySQL 有什么优点?
    查看>>
    mysql 权限整理记录
    查看>>
    mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
    查看>>
    MYSQL 查看最大连接数和修改最大连接数
    查看>>
    MySQL 查看有哪些表
    查看>>
    mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
    查看>>
    MySql 查询以逗号分隔的字符串的方法(正则)
    查看>>
    MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
    查看>>
    mysql 查询数据库所有表的字段信息
    查看>>
    【Java基础】什么是面向对象?
    查看>>
    mysql 查询,正数降序排序,负数升序排序
    查看>>
    MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
    查看>>
    mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
    查看>>