在Linux环境下部署MySQL数据库是开发与运维的常规操作。无论是CentOS、Ubuntu还是Debian,底层逻辑一致,只是包管理器和路径略有差异。本文按实际生产习惯梳理全流程,覆盖从依赖安装到远程调用的核心环节,帮助快速完成环境搭建。
一、核对系统版本并更新基础环境
安装前先用uname -a或cat /etc/os-release确认发行版类型与内核版本。不同系统对应的安装命令不同,CentOS系走yum或dnf路线,Ubuntu系走apt路线。执行系统级更新能清理缓存冲突。CentOS输入sudo yum update -y,Ubuntu输入sudo apt update && sudo apt upgrade -y。等待进度条跑完后再进行下一步,可大幅减少依赖报错概率。
二、配置官方软件源并拉取安装包
系统自带源里的MySQL版本通常滞后,建议接入官方仓库。进入MySQL官网下载页,选择对应系统的社区版repo文件。CentOS用户直接用wget下载config文件,放置于/etc/yum.repos.d/目录下,随后执行sudo yum install mysql-server。Ubuntu用户需先导入GPG签名密钥,再通过apt install mysql-server拉取。安装过程会自动解析并挂载所需依赖库,期间出现确认提示直接回车或输入y即可。
三、启动守护进程与配置开机自启
安装完毕并不代表服务已运行。需借助systemd统一管理。执行sudo systemctl start mysqld(CentOS)或sudo systemctl start mysql(Ubuntu)触发首次启动。紧接着运行sudo systemctl enable mysqld将其写入开机启动项。通过systemctl status mysqld检查状态,看到active (running)且无红色报错即表示就绪。此时可尝试mysql -u root连接验证基础连通性。
四、初始化安全策略与重置管理员密码
新版MySQL首次安装会生成随机临时密码,存放于/var/log/mysqld.log中。使用grep password /var/log/mysqld.log提取该字符串。登录后必须立刻执行安全加固脚本sudo mysql_secure_installation。按交互提示依次设定符合复杂度要求的root密码、移除匿名用户、关闭root远程登录入口、删除默认的test数据库。若密码校验失败,可在my.cnf中临时下调validate_password_policy参数,完成初始化后再恢复原配置。
五、放行外部网络与配置远程访问
默认绑定地址仅限127.0.0.1,跨机调用会被拦截。打开/etc/my.cnf或/etc/mysql/mysql.conf.d/mysqld.cnf,定位bind-address配置行,将其修改为0.0.0.0或直接加井号注释。保存后重启服务使配置生效。操作系统层面需同步开放端口,CentOS执行firewall-cmd --permanent --add-port=3306/tcp && firewall-cmd --reload,Ubuntu执行ufw allow 3306/tcp。最后在数据库内执行grant all privileges on *.* to 'user'@'%' identified by 'password';并配合flush privileges刷新权限表。
六、日常巡检与典型故障排查
上线后建议编写定时任务利用mysqldump导出关键业务库。服务起不来时先看df -h检查磁盘是否爆满,再用free -m核对内存水位。异常日志统一查阅/var/log/mysqld.log,cat或tail命令配合grep过滤关键字能快速定位根因。遇到Access denied多为权限未生效或host匹配错误,重新执行授权语句即可修复。客户端中文乱码需在配置文件的[client]与[mysqld]双端声明default-character-set=utf8mb4,保持两端编码一致。



