在CentOS系统中对MySQL进行操作是许多开发者和系统管理员的日常工作,本文将详细介绍CentOS中MySQL的安装、配置、管理及常见操作,帮助读者掌握基本技能,确保数据库稳定运行。

安装MySQL
在CentOS中,推荐使用官方Yum仓库安装MySQL,下载并添加MySQL官方Yum源,执行以下命令:
sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm -y
安装完成后,使用yum repolist enabled命令验证仓库是否已正确添加,随后,运行sudo yum install mysql-community-server命令安装MySQL服务器,安装过程中,系统会自动解决依赖关系并完成配置。
启动与停止MySQL服务
安装完成后,需启动MySQL服务并设置开机自启,使用以下命令:
sudo systemctl start mysqld sudo systemctl enable mysqld
若需停止服务,执行sudo systemctl stop mysqld;重启服务则使用sudo systemctl restart mysqld,通过sudo systemctl status mysqld可查看服务运行状态。
初始安全配置
首次启动MySQL后,root用户默认没有密码,运行sudo mysql_secure_installation脚本进行安全配置,包括设置root密码、移除匿名用户、禁止root远程登录等步骤,根据提示完成配置,增强数据库安全性。
连接MySQL数据库
使用命令行工具连接MySQL,执行mysql -u root -p并输入密码,若需连接远程服务器,添加-h参数指定IP地址,如mysql -u root -p -h 192.168.1.100,连接成功后,可执行SQL语句进行操作。
创建数据库与用户
创建数据库使用CREATE DATABASE database_name;命令,例如CREATE DATABASE mydb;,接着创建用户并授权:

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON mydb.* TO 'user'@'localhost'; FLUSH PRIVILEGES;
完成授权后,新用户即可访问指定数据库。
数据库备份与恢复
定期备份是数据安全的重要保障,使用mysqldump工具备份数据库:
mysqldump -u root -p mydb > backup.sql
恢复数据库时,执行以下命令:
mysql -u root -p mydb < backup.sql
备份文件可存储在本地或远程服务器,确保数据可追溯。
优化MySQL性能
优化配置文件/etc/my.cnf可提升性能,关键参数包括innodb_buffer_pool_size(建议设置为系统内存的50%-70%)、max_connections(根据并发需求调整)等,修改后重启MySQL服务使配置生效。
日志管理
MySQL日志包括错误日志、查询日志和二进制日志,通过/etc/my.cnf配置日志路径:
log-error=/var/log/mysql/error.log slow-query-log=1 slow-query-log-file=/var/log/mysql/slow.log
定期清理或归档日志,避免占用过多磁盘空间。

故障排查
遇到问题时,首先检查错误日志/var/log/mysqld.log,定位错误原因,常见问题包括权限不足、磁盘空间不足或服务未启动,使用SHOW VARIABLES;命令查看当前配置参数,辅助排查。
卸载MySQL
若需卸载MySQL,执行以下命令:
sudo systemctl stop mysqld sudo yum remove mysql-community-server mysql-community-client mysql-community-common sudo rm -rf /var/lib/mysql
清理残留文件后,MySQL将被完全卸载。
FAQs
如何忘记root密码时重置MySQL密码?
答:首先停止MySQL服务,使用sudo mysqld_safe --skip-grant-tables &以安全模式启动,然后执行mysql -u root登录,运行UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';更新密码,最后重启MySQL服务即可。
如何限制MySQL只允许特定IP访问?
答:编辑/etc/my.cnf文件,在[mysqld]部分添加bind-address = 192.168.1.100(指定允许的IP),创建用户时限制主机,如CREATE USER 'user'@'192.168.1.100' IDENTIFIED BY 'password';,重启服务后,仅指定IP可访问。