MySQL是一款开源的关系型数据库管理系统,支持SQL语言。它具备高可用性、可靠性和易用性,适用于各种规模的应用。MySQL特点包括良好的跨平台支持、灵活的插件式存储引擎(如InnoDB提供事务安全),以及高效的查询处理能力。其优点在于性能优越、社区活跃,拥有丰富的文档资源和第三方工具集成,成本效益高,是Web开发和在线应用的首选数据库之一。
使用二进制发行包离线安装 MySQL 的主要原因是针对特定行业的云平台,如地方政务云、教育云或其他特种行业云平台,这些平台上的云主机往往由于安全政策或网络隔离的要求,无法直接访问互联网。因此,通过下载 MySQL 的二进制发行包并进行离线安装,可以确保在这些受限环境中顺利部署 MySQL数据库,同时满足安全性和合规性的需求。具体来说,这种方式可以带来以下几个方面的优势:
mkdir /Programs/wget https://cdn.mysql.com/Downloads/MySQL-8.4/mysql-8.4.3-linux-glibc2.28-x86_64.tar.xztar -xf mysql-8.4.3-linux-glibc2.28-x86_64.tar.xzln -s /Programs/mysql-8.4.3-linux-glibc2.28-x86_64 /Programs/mysqlmkdir -p /data/mysql8.4# 添加mysql配置文件cat >/Programs/mysql/mysqld.cnf<<EOF[mysqld]user = mysqlbasedir = /Programs/mysql/mysqlpid-file = /data/mysql8.4/mysqld.pidsocket = /data/mysql8.4/mysqld.sockport = 3306datadir = /data/mysql8.4bind-address = 0.0.0.0mysqlx-bind-address = 0.0.0.0key_buffer_size = 1024Mlog_error = /data/mysql8.4/error.logdefault_storage_engine=InnoDBcharacter_set_server=utf8mb4max_connections=2000table_open_cache = 4000skip-name-resolvegtid_mode = ONenforce_gtid_consistency = ONbinlog_expire_logs_seconds = 604800max_binlog_size = 100Mslow_query_log = ONslow_query_log_file = /data/mysql8.4/slow_queries.loglong_query_time = 5myisam-recover-options = BACKUPsql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTIONEOF# 安装处理依赖环境apt install libaio-devln -s /usr/lib/x86_64-linux-gnu/libaio.so /usr/lib/x86_64-linux-gnu/libaio.so.1# 处理环境变量cat >/etc/profile.d/mysqld.sh<< EOF#/bin/bashexport MYSQL_ROOT=/Programs/mysqlexport PATH=\${MYSQL_ROOT}/bin:\${PATH}EOF# 添加mysql用户,并修改权限useradd -r -M -s /sbin/nologin mysqlchown mysql:mysql -R /Programs/mysql-8.4.3-linux-glibc2.28-x86_64chown mysql:mysql -R /Programs/mysqlchown mysql:mysql -R /data/mysql8.4# 初始化数据库实例/Programs/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/data/mysql8.4# 使用systemd管理mysqlcat > /etc/systemd/system/mysqld.service<<EOF[Unit]Description=MySQL Community ServerAfter=network.target[Service]Type=notifyUser=mysqlGroup=mysqlPIDFile=/data/mysql8.4/mysqld.pidPermissionsStartOnly=trueExecStart=/Programs/mysql/bin/mysqld --defaults-file=/Programs/mysql/mysqld.cnfTimeoutSec=5sLimitNOFILE = 102400Restart=on-failureRuntimeDirectoryMode=755[Install]WantedBy=multi-user.targetEOF# 重载 systemd 服务systemctl daemon-reloadsystemctl enable mysqld --now #设置MySQL开机启动,并立即启动