在Linux环境下,MySQL命令是数据库管理与操作的核心工具,无论是系统管理员还是开发人员,掌握这些命令都能高效完成数据库的创建、查询、维护等任务,以下将从基础连接、数据库操作、表管理、数据查询、权限控制及维护优化六个方面,详细介绍Linux下MySQL命令的使用方法。

基础连接与退出
连接MySQL是操作的前提,常用命令为mysql,默认情况下,通过mysql -u root -p可使用root用户登录,系统会提示输入密码,若需连接远程服务器,可添加-h参数,如mysql -u root -p -h 192.168.1.100 -P 3306(-P指定端口号),登录成功后,mysql>提示符表示已进入交互界面,输入exit或quit可退出,或使用快捷键Ctrl+D。
数据库的创建与管理
数据库是存储数据的基础容器,创建数据库使用CREATE DATABASE语句,例如CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;,指定字符集为utf8mb4以支持多语言,若数据库已存在,可添加IF NOT EXISTS避免报错,删除数据库则用DROP DATABASE mydb,此操作不可逆,需谨慎执行。
查看所有数据库可通过SHOW DATABASES;,切换当前数据库使用USE mydb;,若需查看当前数据库大小,可执行SELECT table_schema AS "Database", ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" FROM information_schema.tables WHERE table_schema = "mydb";。
数据表的创建与维护
数据表是数据库的核心结构,创建表需定义字段名、数据类型及约束。
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
AUTO_INCREMENT表示自增主键,NOT NULL禁止空值,UNIQUE确保字段唯一,DEFAULT CURRENT_TIMESTAMP设置默认值为当前时间。
修改表结构可通过ALTER TABLE,如添加字段ALTER TABLE users ADD age INT;,修改字段类型ALTER TABLE users MODIFY email VARCHAR(150);,删除字段ALTER TABLE users DROP age;,删除表使用DROP TABLE users;,若需判断表是否存在,可加IF EXISTS。

数据的增删改查(CRUD)
插入数据:使用INSERT INTO,例如INSERT INTO users (username, email) VALUES ("alice", "alice@example.com");,若需批量插入,可使用逗号分隔多组值。
查询数据:SELECT是核心命令,SELECT * FROM users;查询所有字段,SELECT username, email FROM users;查询指定字段,添加条件查询用WHERE,如SELECT * FROM users WHERE age > 18;,排序用ORDER BY(如ORDER BY created_at DESC降序),限制数量用LIMIT(如LIMIT 10)。
更新数据:通过UPDATE实现,例如UPDATE users SET email = "new_email@example.com" WHERE username = "alice";,务必添加WHERE避免全表更新。
删除数据:DELETE FROM users WHERE username = "alice";同样需配合WHERE,若需清空表,可用TRUNCATE TABLE users;(比DELETE更快且不记录日志)。
用户与权限管理
MySQL的安全性依赖于权限控制,创建用户使用CREATE USER "user1"@"localhost" IDENTIFIED BY "password";,授权则通过GRANT,如GRANT SELECT, INSERT ON mydb.* TO "user1"@"localhost";(授予mydb数据库的查询和插入权限),刷新权限使配置生效:FLUSH PRIVILEGES;。
撤销权限用REVOKE,如REVOKE INSERT ON mydb.* FROM "user1"@"localhost";,删除用户则执行DROP USER "user1"@"localhost";,查看用户权限可运行SHOW GRANTS FOR "user1"@"localhost";。

维护与优化
定期维护数据库至关重要,备份表数据可通过mysqldump -u root -p mydb users > users_backup.sql,恢复数据用mysql -u root -p mydb < users_backup.sql,优化表性能可执行OPTIMIZE TABLE users;,重建表并回收碎片空间。
查看当前运行状态使用SHOW PROCESSLIST;,分析查询性能可通过EXPLAIN SELECT * FROM users WHERE username = "alice";,查看表索引状态用SHOW INDEX FROM users;,若需关闭或重启MySQL服务,在Linux中可通过systemctl stop mysql和systemctl start mysql管理。
掌握以上MySQL命令,能高效完成Linux环境下的数据库日常操作,结合实际场景灵活运用,可进一步提升数据管理的效率与安全性。


















