
在Linux环境下,对MySQL的有效管理离不开一系列命令行工具和脚本
本文旨在提供一份详尽的Linux MySQL运行脚本命令指南,帮助数据库管理员和开发人员更高效、安全地管理MySQL数据库
一、基础准备:安装与启动 1. 安装MySQL 在大多数Linux发行版中,可以通过包管理器轻松安装MySQL
例如,在Ubuntu上: bash sudo apt update sudo apt install mysql-server 在CentOS上: bash sudo yum install mysql-server 2. 启动MySQL服务 安装完成后,需启动MySQL服务
使用`systemctl`(适用于systemd系统): bash sudo systemctl start mysqld 或对于较老的系统,使用`service`命令: bash sudo service mysqld start 3. 检查MySQL服务状态 确保MySQL正在运行: bash sudo systemctl status mysqld 或 bash sudo service mysqld status 4. 设置开机自启 为使MySQL在系统启动时自动运行: bash sudo systemctl enable mysqld 二、用户与权限管理 1. 登录MySQL 使用root用户或具有足够权限的用户登录MySQL: bash mysql -u root -p 输入密码后进入MySQL命令行界面
2. 创建新用户 为安全起见,应避免直接使用root账户进行日常操作
创建新用户并赋予权限: sql CREATE USER newuser@localhost IDENTIFIED BY password; GRANT ALL PRIVILEGES ON database_name. TO newuser@localhost; FLUSH PRIVILEGES; 3. 修改用户密码 当用户密码需要更改时: sql ALTER USER username@localhost IDENTIFIED BY newpassword; FLUSH PRIVILEGES; 4. 删除用户 移除不再需要的用户: sql DROP USER username@localhost; FLUSH PRIVILEGES; 三、数据库管理 1. 创建数据库 sql CREATE DATABASE database_name; 2. 删除数据库 小心操作,因为这将删除数据库及其所有数据: sql DROP DATABASE database_name; 3. 备份数据库 使用`mysqldump`工具进行逻辑备份: bash mysqldump -u username -p database_name > backup_file.sql 4. 恢复数据库 从备份文件中恢复数据: bash mysql -u username -p database_name < backup_file.sql 5. 导入CSV文件到表中 首先,确保表结构与CSV文件匹配,然后使用`LOAD DATA INFILE`命令: sql LOAD DATA INFILE /path/to/file.csv INTO TABLE table_name FIELDS TERMINATED BY , ENCLOSED BY LINES TERMINATED BY n IGNORE1 ROWS; 四、性能优化与监控 1. 查看MySQL状态 通过`SHOW STATUS`命令获取MySQL服务器状态信息,有助于诊断性能问题: sql SHOW GLOBAL STATUS LIKE Variable_name; 2. 查看进程列表 `SHOW PROCESSLIST`命令显示当前正在执行的线程,有助于识别长时间运行的查询: sql SHOW PROCESSLIST; 3. 慢查询日志 启用并查看慢查询日志,以识别和优化性能瓶颈: sql SET GLOBAL slow_query_log = ON; SET GLOBAL slow_query_log_file = /var/log/mysql/mysql-slow.log; SET GLOBAL long_query_time =2;-- 设置超过2秒的查询为慢查询 查看慢查询日志: bash cat /var/log/mysql/mysql-slow.log 4. 优化表 定期运行`OPTIMIZE TABLE`命令可以回收未使用的空间并优化表结构: sql OPTIMIZE TABLE table_name; 5. 使用性能模式(Performance Schema) Performance Schema提供了对MySQL服务器性能数据的访问,可以配置和查询以获取详细的性能指标
sql USE performance_schema; SELECT - FROM events_statements_summary_by_digest LIMIT10; 五、自动化脚本与任务调度 1. 备份脚本 编写Bash脚本实现定期备份: bash !/bin/bash USER=username PASSWORD=password DB=database_name BACKUP_DIR=/path/to/backup DATE=$(date +%F) mysqldump -u$USER -p$PASSWORD $DB > $BACKUP_DIR/$DB-$DATE.sql echo Backup completed for $DB on $DATE 保存为`backup.sh`,并赋予执行权限: bash chmod +x backup.sh 使用`cron`定时执行: bash crontab -e 添加如下行,表示每天凌晨2点执行备份: bash 02/path/to/backup.sh 2. 监控脚本 利用`check_mysql_health.pl`(如Nagios插件)或其他自定义脚本监控MySQL服务状态,结合`cro
Spark写入MySQL,处理主键冲突技巧
Linux MySQL管理脚本命令精选
CentOS7上MySQL源码安装指南
星环Sqoop:数据迁移Hive至MySQL指南
MySQL索引:加速查询的数据库利器
SpringMVC与MySQL数据库连接实战指南
MySQL数据库本地备份技巧
Spark写入MySQL,处理主键冲突技巧
CentOS7上MySQL源码安装指南
星环Sqoop:数据迁移Hive至MySQL指南
MySQL索引:加速查询的数据库利器
SpringMVC与MySQL数据库连接实战指南
MySQL数据库本地备份技巧
MySQL5.7驱动包:高效连接指南
FTP传输助力MySQL数据库升级指南
MySQL上传TEXT超限解决方案
MySQL集群节点数据同步揭秘
MySQL数据库导出至Excel:实用步骤指南
影响MySQL性能的关键因素解析