avatar

瓜生花子八宝粥

少壮不努力 老了看浏览器

  • 首页
  • 开源项目
  • Linux
  • Windows
  • Docker
  • 中间件
  • 数据库
主页 MySQL 安装与配置
文章

MySQL 安装与配置

发表于 2024-12-1 更新于 2024-12- 1
作者 jepwei
24~31 分钟 阅读

本文档提供了在 CentOS 7 上安装和配置 MySQL 的详细步骤,包括开启 binlog 和配置自动备份脚本。

1. 准备工作

下载 MySQL

从 MySQL 官方网站 下载 MySQL 安装包。

安装依赖

在终端中运行以下命令安装必要的依赖包:

yum install libaio perl net-tools numactl autoconf openssl-devel \
openssl perl-JSON.noarch perl-Test-Simple perl.x86_64 perl-devel.x86_64 -y

环境信息

  • 测试环境:CentOS 7
  • 安装位置:/usr/local/mysql
  • 数据位置:/home/mysql/data

2. 解压与链接

解压 MySQL 安装包并创建符号链接:

tar xf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/mysql-5.7.35-linux-glibc2.12-x86_64 /usr/local/mysql

3. 创建用户、目录和配置环境变量

groupadd mysql
useradd -r -g mysql mysql
echo 'mysql:5v$DI#3jeESw1eziN' | sudo chpasswd
mkdir -p /home/mysql/data
chown mysql:mysql -R /home/mysql/data

编辑 /etc/profile 文件,添加以下内容:

export MYSQL_HOME=/usr/local/mysql
export PATH=.:${MYSQL_HOME}/bin:$PATH

应用更改:

source /etc/profile

4. 配置 my.cnf

在 /etc/my.cnf 中添加以下配置:

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/home/mysql/data
socket=/tmp/mysql.sock
pid-file=/home/mysql/data/mysql.pid
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
lower_case_table_names=1
max_connect_errors=8000
max_connections=2000

# 日志功能
log-error=/home/mysql/data/mysql.err
slow_query_log=1
slow_query_log_file=/home/mysql/data/mysql_slow.log
general_log=1
general_log_file=/home/mysql/data/mysql.log
long_query_time=2
log_queries_not_using_indexes=1

# Binlog 日志
server_id=1
log_bin=/home/mysql/data/bin-log
expire_logs_days=7
binlog_format=ROW

5. 安装 MySQL

初始化 MySQL:

cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql

6. 配置服务启动项及端口

设置 MySQL 开机自启:

cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list

启动 MySQL 服务:

/etc/init.d/mysqld start

开放防火墙端口:

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-all

7. 数据库初始化配置密码

MySQL 5 初始化

mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Aa#0539';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Aa#0539' WITH GRANT OPTION;
FLUSH PRIVILEGES;

MySQL 8 初始化

USE mysql;
UPDATE user SET Host='%' WHERE User='root' AND Host='localhost';
ALTER USER 'root'@'%' IDENTIFIED BY 'tecsun123';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Tecsun#1939';
FLUSH PRIVILEGES;

创建新用户(可选)

CREATE USER 'app'@'%' IDENTIFIED BY 'App@123456' PASSWORD EXPIRE NEVER;
GRANT INSERT, UPDATE, DELETE, SELECT, CREATE TEMPORARY TABLES, LOCK TABLES, SHOW DATABASES ON *.* TO 'app'@'%';
FLUSH PRIVILEGES;

8. 优化建议

  1. 建议将 root 用户限制为 localhost,并创建一个 admin 用户:

    CREATE USER 'admin'@'%' IDENTIFIED BY 'Tecsun#1221';
    GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';
    FLUSH PRIVILEGES;
    
  2. 确保 my.cnf 中的 bind-address 配置为本机同网段。

RPM 安装方式

卸载 MariaDB

rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

安装依赖

yum install libaio perl net-tools numactl autoconf openssl-devel openssl -y
yum install perl.x86_64 perl-devel.x86_64 -y
yum install perl-JSON.noarch -y
yum install perl-Test-Simple -y

解压并安装 MySQL

tar -xvf mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar
rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.24-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm

启动 MySQL

service mysqld start

查看初始密码:

grep 'temporary password' /var/log/mysqld.log

Docker 部署

docker-compose.yaml 示例

version: '3'
services:
  mysql8:
    image: mysql:8.0.36
    container_name: mysql8
    environment:
      - MYSQL_ROOT_PASSWORD=q84t$PU26D%nw##u
      - TZ=Asia/Shanghai
    volumes:
      - /raid1/docker/mysql/log:/var/log/mysql
      - /raid1/docker/mysql/data:/var/lib/mysql
      - /raid1/docker/mysql/conf.d:/etc/mysql/conf.d
      - /etc/localtime:/etc/localtime:ro
    ports:
      - 3306:3306
    restart: always

管理命令

  • 停止服务:docker-compose stop mysql8
  • 重启服务:docker-compose restart mysql8
  • 启动服务:docker-compose start mysql8

卸载与重建容器

docker-compose down
docker-compose up

通过以上步骤,您可以成功安装、配置和优化 MySQL 数据库。

数据库
mysql
许可协议: 
分享

相关文章

1月 15, 2025

容器部署mysql

1. 创建容器并进行持久化处理 # 拉取镜像 docker pull mysql:8.0.20 # 启动镜像,用于拷贝配置文件到宿主机 docker run -p 13306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.

1月 15, 2025

人大金仓数据库部署

为确保金仓数据库管理系统 KingbaseES 的成功安装,用户需创建专用的 kingbase 用户并为其配置适当的权限。安装前需准备目录、上传安装包与授权文件。运用控制台模式安装时,用户需选择安装集与目录,设定数据库参数及字符集,最后确认安装。安装成功后,通过指定命令确认版本与服务状态,可以有效启动与停止数据库服务,确保系统稳定运行。

12月 20, 2024

容器部署高斯gauss数据库

本指南详细介绍了如何使用Docker部署OpenGauss数据库,包括安装前提、镜像拉取、容器运行和验证安装等步骤。首先确保Docker服务正在运行,然后使用特定命令拉取OpenGauss镜像并启动容器。配置参数包括容器名称、权限、端口映射及数据库密码。成功启动后,可通过命令检查容器状态。此外,还包括远程连接的配置方法及注意事项,确保在生产环境下的安全性和数据备份。

下一篇

Clash for Linux 工具

上一篇

MySQL 自动备份脚本

最近更新

  • 1panel 部署
  • jumpserver 堡垒机部署
  • ubuntu 设置时间显示为24小时制
  • pritunl vpn 部署
  • dockovpn 部署

热门标签

nacos openvpnas 资源分享 docker oracle mysql ubuntu 开源项目 虚拟化 Linux

目录

©2025 瓜生花子八宝粥. 保留部分权利。

使用 Halo 主题 Chirpy