MySQL作为一种广泛使用的开源关系型数据库管理系统(RDBMS),在许多服务器和应用中扮演着核心角色
通过`yum`命令安装MySQL不仅方便快捷,还能确保你获得的是经过测试和稳定的版本
本文将详细介绍在使用`yum`命令安装MySQL后的配置、管理、优化和安全设置等方面的内容,帮助你快速上手并高效利用MySQL
一、安装MySQL 首先,确保你的系统已经配置好YUM源
对于CentOS和RHEL用户,由于MySQL并不在默认的YUM源中,你需要先添加MySQL的官方YUM仓库
以下是具体步骤: 1.下载MySQL Yum Repository bash sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm 这条命令会下载并安装MySQL的YUM仓库包
请注意,URL可能会根据MySQL的版本和Linux发行版的不同而有所变化
2.安装MySQL Server bash sudo yum install mysql-community-server 这条命令会从刚刚添加的MySQL YUM仓库中安装MySQL Server
安装过程会自动处理依赖关系,并提示你确认安装
3.启动MySQL服务 bash sudo systemctl start mysqld 安装完成后,你需要启动MySQL服务
4.设置MySQL服务开机自启 bash sudo systemctl enable mysqld 这条命令确保MySQL服务在系统启动时自动运行
二、获取初始密码 MySQL5.7及更高版本在安装完成后会生成一个临时的root密码
你可以在MySQL的日志文件中找到这个密码
1.查看临时密码 bash sudo grep temporary password /var/log/mysqld.log 这条命令会输出MySQL生成的临时root密码
记下这个密码,因为你将在下一步中使用它
三、安全配置MySQL 获取初始密码后,你应尽快运行`mysql_secure_installation`脚本来进行安全配置
1.运行安全配置脚本 bash sudo mysql_secure_installation 脚本会提示你进行以下操作: -更改root密码:输入刚才找到的临时密码,然后设置一个新的root密码
-移除匿名用户:建议选择“Y”来移除所有匿名用户
-禁止root远程登录:建议选择“Y”来禁止root通过远程登录
-删除测试数据库:建议选择“Y”来删除测试数据库并重新加载权限表
-刷新权限:脚本会自动刷新权限表
四、基本管理操作 配置完安全设置后,你可以开始使用MySQL了
以下是一些基本的管理操作
1.登录MySQL bash mysql -u root -p 输入你在`mysql_secure_installation`中设置的新root密码
2.创建新用户 sql CREATE USER newuser@localhost IDENTIFIED BY password; 这条SQL命令创建一个名为`newuser`的用户,密码为`password`
`localhost`表示该用户只能从本地登录
3.授予权限 sql GRANT ALL PRIVILEGES ON database_name. TO newuser@localhost; FLUSH PRIVILEGES; 这条命令授予`newuser`对`database_name`数据库的所有权限
`FLUSH PRIVILEGES`命令刷新权限表,使更改生效
4.查看数据库列表 sql SHOW DATABASES; 5.选择数据库 sql USE database_name; 6.查看表列表 sql SHOW TABLES; 7.退出MySQL sql EXIT; 五、优化MySQL性能 安装和配置完成后,你可能需要对MySQL进行一些优化以提高性能
以下是一些常见的优化措施
1.调整配置文件 MySQL的配置文件通常是`/etc/my.cnf`或`/etc/mysql/my.cnf`
你可以编辑这个文件来调整MySQL的各种参数
-调整innodb_buffer_pool_size:这个参数决定了InnoDB存储引擎用于缓存数据和索引的内存大小
通常建议设置为物理内存的70%-80%
ini 【mysqld】 innodb_buffer_pool_size=1G -调整query_cache_size:这个参数决定了MySQL用于查询缓存的内存大小
不过,在MySQL8.0中,查询缓存已被移除
-调整max_connections:这个参数决定了MySQL允许的最大连接数
根据你的应用需求调整这个值
ini 【mysqld】 max_connections=500 2.使用索引 确保对常用的查询字段建立索引,以提高查询速度
3.定期维护 -分析和优化表:使用ANALYZE TABLE和`OPTIMIZE TABLE`命令来分析和优化表
sql ANALYZE TABLE table_name; OPTIMIZE TABLE table_name; -备份和恢复:定期备份你的数据库,以防数据丢失
你可以使用`mysqldump`工具进行备份
bash mysqldump -u root -p database_name > backup.sql 六、监控和日志管理 为了保持MySQL的健康运行,你需要定期监控其性能和查看日志文件
1.查看状态变量 sql SHOW STATUS; 这条命令会显示MySQL的各种状态变量,帮助你了解MySQL的运行状态
2.查看错误日志 MySQL的错误日志通常位于`/var/log/mysqld.log`
你可以使用`tail`命令实时查看日志
bash tail -f /var/log/mysqld.log 3.使用监控工具 你还可以使用专门的监控工具如`Percona Monitoring and Management(PMM)`、`Zabbix`或`Nagios`来监控MySQL的性能
七、安全性增强 除了前面的安全配置步骤,你还可以采取以下措施进一步增强MySQL的安全性
1.使用防火墙 确保只有授权的IP地址能够访问MySQL端口(默认是3306)
你可以使用`iptables`或`firewalld`来配置防火墙规则
2.定期更新 定期检查并更新MySQL到最新版本,以获得最新的安全补丁和功能改进
3.审计日志 启用MySQL的审计日志功能,记录所有对数据库的操作
这可以帮助你在发生安全事件时进行追溯