在CentOS 7系统中,MySQL的安装、配置和管理主要通过命令行操作完成,以下是详细的命令使用指南和操作步骤,MySQL在CentOS 7中默认使用MariaDB作为替代,若需安装官方MySQL,需通过官方Yum仓库进行配置,安装前,建议更新系统包列表并卸载可能存在的MariaDB,使用命令sudo yum update -y
更新系统,然后通过sudo yum remove mariadb*
卸载MariaDB相关包,下载并添加MySQL官方Yum仓库,执行sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm -y
,完成后可通过sudo yum repolist enabled "mysql*-community-*"
确认仓库是否添加成功,安装MySQL服务器使用命令sudo yum install mysql-community-server -y
,安装过程中会自动依赖安装客户端工具和库文件,安装完成后,启动MySQL服务并设置开机自启,命令为sudo systemctl start mysqld
和sudo systemctl enable mysqld
,通过sudo systemctl status mysqld
可查看服务运行状态,首次启动后,MySQL会为root用户生成临时密码,可通过sudo grep 'temporary password' /var/log/mysqld.log
获取,随后使用mysql_secure_installation
命令进行安全配置,包括设置root新密码、移除匿名用户、禁止root远程登录等步骤,日常管理中,登录MySQL使用mysql -u root -p
,输入密码后进入命令行界面,数据库操作方面,创建数据库使用CREATE DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
,删除数据库需谨慎,使用DROP DATABASE database_name;
,用户管理上,创建用户并授权可通过CREATE USER 'username'@'host' IDENTIFIED BY 'password';
和GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';
,刷新权限使用FLUSH PRIVILEGES;
,表操作包括创建表(CREATE TABLE table_name (column1 datatype, column2 datatype, ...);
)、插入数据(INSERT INTO table_name (column1, column2) VALUES (value1, value2);
)、查询数据(SELECT * FROM table_name;
)等,MySQL配置文件位于/etc/my.cnf
,可根据需求调整内存分配、连接数等参数,修改后需重启服务sudo systemctl restart mysqld
,备份恢复方面,全量备份使用mysqldump -u root -p database_name > backup.sql
,恢复则通过mysql -u root -p database_name < backup.sql
执行,性能监控可使用SHOW PROCESSLIST;
查看当前连接,SHOW VARIABLES;
查看配置变量,或通过mysqladmin -u root -p processlist
获取实时状态,对于常见问题,如忘记root密码,需停止MySQL服务(sudo systemctl stop mysqld
),以安全模式启动(sudo mysqld_safe --skip-grant-tables &
),登录后更新密码(UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
),刷新权限并重启服务,防火墙配置需允许MySQL端口3306,执行sudo firewall-cmd --permanent --add-service=mysql
和sudo firewall-cmd --reload
,以下为常用MySQL命令的快速参考表格:

功能分类 | 命令示例 |
---|---|
安装MySQL | sudo yum install mysql-community-server -y |
启动服务 | sudo systemctl start mysqld |
设置开机自启 | sudo systemctl enable mysqld |
查看临时密码 | sudo grep 'temporary password' /var/log/mysqld.log |
安全配置 | mysql_secure_installation |
登录MySQL | mysql -u root -p |
创建数据库 | CREATE DATABASE db_name; |
创建用户 | CREATE USER 'user'@'localhost' IDENTIFIED BY 'pass'; |
用户授权 | GRANT ALL ON db_name.* TO 'user'@'localhost'; |
刷新权限 | FLUSH PRIVILEGES; |
备份数据库 | mysqldump -u root -p db_name > backup.sql |
恢复数据库 | mysql -u root -p db_name < backup.sql |
查看服务状态 | sudo systemctl status mysqld |
相关问答FAQs:
问题1:如何在CentOS 7中卸载MySQL并重新安装?
解答:首先停止并禁用MySQL服务:sudo systemctl stop mysqld
和sudo systemctl disable mysqld
,然后卸载MySQL包:sudo yum remove mysql-community-server mysql-community-client mysql-community-common mysql-community-libs
,删除残留数据:sudo rm -rf /var/lib/mysql
,清理Yum缓存:sudo yum clean all
,最后重新按照上述安装步骤添加官方仓库并安装MySQL即可。
问题2:MySQL连接数过多导致服务无法响应,如何解决?
解答:可通过调整max_connections
参数解决,编辑配置文件/etc/my.cnf
,在[mysqld]
段添加max_connections=1000
(根据需求调整数值),保存后重启MySQL服务:sudo systemctl restart mysqld
,可通过SHOW VARIABLES LIKE 'max_connections';
验证修改是否生效,或使用SHOW PROCESSLIST;
查看当前连接情况,优化应用程序释放未使用的连接。
