centos mysql使用技巧
以下是CentOS下MySQL的使用技巧,涵盖安装、配置、优化及管理等方面:
一、基础安装与配置
-
安装MySQL
- 添加官方YUM源并安装:
sudo yum install -y https://repo.mysql.com/mysql57-community-release-el7-11.noarch.rpm sudo yum install -y mysql-community-server
- 启动服务并设置开机自启:
sudo systemctl start mysqld sudo systemctl enable mysqld
- 添加官方YUM源并安装:
-
安全初始化
- 运行安全脚本,设置root密码、删除匿名用户及测试库:
sudo mysql_secure_installation
- 运行安全脚本,设置root密码、删除匿名用户及测试库:
二、核心配置技巧
-
配置文件优化(/etc/my.cnf)
- 内存分配:
innodb_buffer_pool_size = 1G # 建议为物理内存的50%-80% innodb_log_file_size = 256M # 日志文件大小,影响性能
- 连接数与日志:
max_connections = 500 # 根据服务器负载调整 slow_query_log = ON # 开启慢查询日志 long_query_time = 1 # 慢查询阈值(秒)
- 内存分配:
-
远程访问配置
- 修改
bind-address=0.0.0.0
允许远程连接,并通过防火墙放行3306端口:sudo firewall-cmd --add-port=3306/tcp --permanent sudo firewall-cmd --reload
- 修改
三、性能优化技巧
-
索引优化
- 为高频查询字段创建索引,避免全表扫描:
CREATE INDEX idx_name ON users(name);
- 使用
EXPLAIN
分析查询计划,优化低效SQL:EXPLAIN SELECT * FROM orders WHERE user_id = 100;
- 为高频查询字段创建索引,避免全表扫描:
-
查询与表优化
- 避免
SELECT *
,只查询必要字段;使用LIMIT
限制返回行数。 - 定期优化表,减少碎片:
sudo mysqlcheck -o -u root -p database_name
- 避免
四、管理与维护技巧
-
备份与恢复
- 全库备份:
sudo mysqldump -u root -p --all-databases > all_backup.sql
- 恢复数据库:
mysql -u root -p < backup>
- 全库备份:
-
监控与日志
- 查看实时状态:
mysqladmin -u root -p status mysqladmin -u root -p processlist # 查看当前进程
- 分析慢查询日志:
sudo grep "Slow query" /var/log/mysql-slow.log
- 查看实时状态:
五、安全增强技巧
-
权限管理
- 遵循最小权限原则,仅为用户分配必要权限:
GRANT SELECT, INSERT ON db_name.* TO 'user'@'host'; FLUSH PRIVILEGES;
- 遵循最小权限原则,仅为用户分配必要权限:
-
数据加密与审计
- 对敏感字段(如密码)使用
AES_ENCRYPT
加密存储。 - 启用通用查询日志(需谨慎,影响性能):
general_log = ON general_log_file = /var/log/mysql-general.log
- 对敏感字段(如密码)使用
六、常见问题处理
- 主从同步配置:通过设置
server-id
、log-bin
及CHANGE MASTER TO
命令实现数据同步。 - CPU占用过高:优化SQL查询、调整
innodb_buffer_pool_size
或升级硬件。
以上技巧可根据实际业务场景灵活调整,操作前建议备份数据。参考来源:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!