特别是在CentOS这一稳定且流行的Linux发行版上,MySQL的应用尤为广泛
本文旨在全面介绍如何在CentOS环境下,通过命令行高效地进行MySQL数据库的管理和操作,帮助读者掌握这一关键技能
一、安装MySQL 在使用MySQL之前,首先需要确保它已正确安装在CentOS系统上
以下是安装步骤: 1.更新系统软件包索引: bash sudo yum update -y 2.安装MySQL服务器: bash sudo yum install mysql-server -y 3.启动MySQL服务并设置开机自启: bash sudo systemctl start mysqld sudo systemctl enable mysqld 4.获取临时root密码: MySQL安装完成后,系统会自动生成一个临时的root密码,存储在`/var/log/mysqld.log`文件中
使用以下命令查找该密码: bash sudo grep temporary password /var/log/mysqld.log 二、安全配置MySQL 安装完成后,应立即进行安全配置,包括修改root密码、删除匿名用户、禁止远程root登录等
这可以通过`mysql_secure_installation`脚本来完成: bash sudo mysql_secure_installation 过程中,系统会提示你进行以下操作: - 输入并确认新的root密码
-移除匿名用户
-禁止root远程登录
- 删除测试数据库
- 重新加载权限表
三、基本命令行操作 1.登录MySQL: 使用新设置的root密码登录MySQL: bash mysql -u root -p 2.查看数据库列表: sql SHOW DATABASES; 3.选择数据库: sql USE database_name; 4.查看表列表: sql SHOW TABLES; 5.查看表结构: sql DESCRIBE table_name; 四、数据库与表的管理 1.创建数据库: sql CREATE DATABASE database_name; 2.删除数据库: sql DROP DATABASE database_name; 3.创建表: sql CREATE TABLE table_name( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 4.删除表: sql DROP TABLE table_name; 5.修改表结构: - 添加列: sql ALTER TABLE table_name ADD COLUMN column_name VARCHAR(100); - 删除列: sql ALTER TABLE table_name DROP COLUMN column_name; - 修改列类型: sql ALTER TABLE table_name MODIFY COLUMN column_name INT; 五、数据操作 1.插入数据: sql INSERT INTO table_name(name, email) VALUES(John Doe, john@example.com); 2.查询数据: - 查询所有记录: sql SELECTFROM table_name; - 条件查询: sql SELECT - FROM table_name WHERE name = John Doe; 3.更新数据: sql UPDATE table_name SET email = john_new@example.com WHERE name = John Doe; 4.删除数据: sql DELETE FROM table_name WHERE name = John Doe; 六、用户与权限管理 1.创建新用户: sql CREATE USER username@localhost IDENTIFIED BY password; 2.授予权限: -授予所有权限给特定数据库: sql GRANT ALL PRIVILEGES ON database_name. TO username@localhost; - 仅授予SELECT权限: sql GRANT SELECT ON database_name. TO username@localhost; 3.刷新权限: sql FLUSH PRIVILEGES; 4.查看用户权限: sql SHOW GRANTS FOR username@localhost; 5.删除用户: sql DROP USER username@localhost; 七、备份与恢复 1.备份数据库: 使用`mysqldump`工具进行逻辑备份: bash mysqldump -u root -p database_name > backup.sql 2.恢复数据库: bash mysql -u root -p database_name < backup.sql 八、性能优化与维护 1.查看MySQL状态: sql SHOW STATUS; 2.查看慢查询日志: 首先,确保慢查询日志已启用: 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秒的查询为慢查询 3.分析查询性能: 使用`EXPLAIN`关键字分析查询计划: sql EXPLAIN SELECT - FROM table_name WHERE name = John Doe; 4.优化表: sql OPTIMIZE TABLE table_name; 5.定期维护: - 检查并修复表: sql CHECK TABLE table_name; REPAIR TABLE table_name; -清理不再需要的日志文件,避免占用过多磁盘空间
九、高级功能探索 1.存储过程与函数: - 创建存储过程: sql DELIMITER // CREATE PROCEDURE GetUserEma