如何在Debian上定制MySQL安装选项
导读:在 Debian 上定制 MySQL 安装选项的实用方案 一 使用官方 APT 源选择版本与组件 更新索引并安装配置包,选择所需的 MySQL 版本与组件(如 server、client、test、dev 等): sudo apt u...
在 Debian 上定制 MySQL 安装选项的实用方案
一 使用官方 APT 源选择版本与组件
- 更新索引并安装配置包,选择所需的 MySQL 版本与组件(如 server、client、test、dev 等):
- sudo apt update
- wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb
- sudo dpkg -i mysql-apt-config_0.8.29-1_all.deb
- 在弹出的界面中选择版本/组件,完成后执行:sudo apt update
- 安装服务器与客户端:
- sudo apt install mysql-server mysql-client
- 可选:运行安全初始化向导,设置 root 密码、移除匿名用户、限制远程 root 登录等:
- sudo mysql_secure_installation
- 说明:通过官方 APT 源能避免与系统自带 MariaDB 冲突,并便于后续升级与维护。
二 通过配置文件定制运行时选项
- 主配置文件为 /etc/mysql/my.cnf,实际生效的多数服务器参数位于 /etc/mysql/mysql.conf.d/mysqld.cnf。常见定制项示例:
- 字符集与排序规则:
- [mysqld]
- character-set-server=utf8mb4
- collation-server=utf8mb4_unicode_ci
- [mysqld]
- 内存与缓存:
- innodb_buffer_pool_size=1G
- 数据与日志路径(按需调整,并确保目录存在且权限正确):
- datadir=/var/lib/mysql
- log-error=/var/log/mysql/error.log
- socket=/var/run/mysqld/mysqld.sock
- 字符集与排序规则:
- 修改后重启服务并验证:
- sudo systemctl restart mysql
- sudo systemctl status mysql
- mysql -e “SHOW VARIABLES LIKE ‘character_set_server’; ”
- 提示:Debian 的打包布局将配置拆分到多个目录,建议在 /etc/mysql/mysql.conf.d/ 下新增自定义配置文件(如 99-custom.cnf),避免直接改动上游文件。
三 从源码编译安装以深度定制编译参数与路径
- 安装构建依赖:
- sudo apt update
- sudo apt install -y build-essential cmake gcc g++ libncurses-dev libssl-dev libtinfo5 libsasl2-dev zlib1g-dev libreadline-dev pkg-config bison libboost-dev
- 获取源码并配置编译选项(示例为 MySQL 8.0.41):
- wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.41.tar.gz
- tar -zxvf mysql-8.0.41.tar.gz & & cd mysql-8.0.41
- mkdir build & & cd build
- cmake …
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/var/lib/mysql
-DSYSCONFDIR=/etc
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DDEFAULT_CHARSET=utf8mb4
-DDEFAULT_COLLATION=utf8mb4_general_ci
-DWITH_BOOST=…/boost
- 编译与安装:
- make -j$(nproc)
- sudo make install
- 初始化与权限:
- sudo groupadd mysql & & sudo useradd -r -g mysql -s /bin/false mysql
- sudo mkdir -p /usr/local/mysql/mysql-files
- sudo chown -R mysql:mysql /usr/local/mysql
- cd /usr/local/mysql
- bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/var/lib/mysql
- 配置 systemd 服务(/etc/systemd/system/mysql.service):
- [Unit]
- Description=MySQL Server
- After=network.target
- [Service]
- User=mysql
- Group=mysql
- ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/mysql/my.cnf
- Restart=on-failure
- [Install]
- WantedBy=multi-user.target
- [Unit]
- 启动与开机自启:
- sudo systemctl daemon-reload
- sudo systemctl start mysql
- sudo systemctl enable mysql
- 安全设置与路径便捷:
- /usr/local/mysql/bin/mysql_secure_installation
- echo ‘export PATH=/usr/local/mysql/bin:$PATH’ > > ~/.bashrc & & source ~/.bashrc
- 说明:源码编译可按需开启/禁用存储引擎、选择系统或捆绑的 SSL/ZLIB、指定安装前缀与数据目录,适合对性能、路径布局与安全合规有严格要求的场景。
四 常见问题与实用建议
- 共存与替换:若系统存在 MariaDB,建议先彻底移除(如 sudo apt purge mariadb*)再安装 MySQL,避免包冲突与服务混用。
- 配置生效顺序:/etc/my.cnf 为总入口,/etc/mysql/conf.d/.cnf 与 /etc/mysql/mysql.conf.d/.cnf 会被包含;新增自定义配置建议放在后者并按需设置优先级。
- 远程连接与认证:MySQL 8 默认使用 caching_sha2_password,部分旧客户端可能不兼容;可在创建用户时指定旧插件(如 mysql_native_password),或在安装向导中选择兼容的认证方式。
- 初始化与密码:源码安装后首次初始化会生成临时 root 密码(终端输出中可见),请妥善保存并尽快修改;随后使用 mysql_secure_installation 完成安全基线设置。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Debian上定制MySQL安装选项
本文地址: https://pptw.com/jishu/748711.html
