博客
关于我
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/

    你可能感兴趣的文章
    nginx配置域名和ip同时访问、开放多端口
    查看>>
    Nginx配置多个不同端口服务共用80端口
    查看>>
    Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
    查看>>
    Nginx配置如何一键生成
    查看>>
    Nginx配置实例-负载均衡实例:平均访问多台服务器
    查看>>
    Nginx配置文件nginx.conf中文详解(总结)
    查看>>
    Nginx配置负载均衡到后台网关集群
    查看>>
    ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
    查看>>
    NHibernate学习[1]
    查看>>
    NHibernate异常:No persister for的解决办法
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
    查看>>
    NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
    查看>>
    NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
    查看>>