MySQL 在 Linux 中的常用命令及操作

在 Linux 中,MySQL 常用的命令主要包括以下几类:连接 MySQL 数据库、数据库管理、表管理、用户权限管理、备份与恢复等。以下是一些常见的 MySQL 命令及其详细用法:

1. 连接 MySQL

mysql -u username -p: 连接到 MySQL 数据库
mysql -u root -p       # 使用 root 用户连接 MySQL
  • -u:指定用户名
  • -p:提示输入密码
mysql -h hostname -u username -p: 连接到远程 MySQL 数据库
mysql -h 192.168.1.100 -u root -p   # 使用 root 用户连接到远程 MySQL 数据库
  • -h:指定主机名或 IP 地址

2. 数据库管理

SHOW DATABASES;: 查看所有数据库
SHOW DATABASES;
CREATE DATABASE dbname;: 创建数据库
CREATE DATABASE testdb;
USE dbname;: 选择要操作的数据库
USE testdb;
DROP DATABASE dbname;: 删除数据库
DROP DATABASE testdb;

3. 表管理

SHOW TABLES;: 查看当前数据库中的所有表
SHOW TABLES;
CREATE TABLE: 创建新表
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50),
    email VARCHAR(100)
);
DESCRIBE table_name;: 查看表结构
DESCRIBE users;

EXPLAIN users;
DROP TABLE table_name;: 删除表
DROP TABLE users;
ALTER TABLE: 修改表结构
ALTER TABLE users ADD COLUMN age INT;   # 添加一个名为 age 的列
ALTER TABLE users DROP COLUMN age;      # 删除 age 列
ALTER TABLE users MODIFY COLUMN username VARCHAR(100); # 修改列的数据类型
TRUNCATE TABLE table_name;: 清空表内容(不删除表结构)
TRUNCATE TABLE users;

4. 数据管理

SELECT: 查询数据
SELECT * FROM users;             # 查询所有数据
SELECT id, username FROM users;  # 查询特定字段
SELECT * FROM users WHERE id = 1;# 根据条件查询数据
INSERT INTO: 插入数据
INSERT INTO users (username, email) VALUES ('Alice', 'alice@example.com');
UPDATE: 更新数据
UPDATE users SET email = 'newemail@example.com' WHERE id = 1;
DELETE: 删除数据
DELETE FROM users WHERE id = 1;  # 删除 id 为 1 的数据
LIMIT: 限制查询结果数量
SELECT * FROM users LIMIT 5;  # 只返回前 5 行数据
ORDER BY: 排序查询结果
SELECT * FROM users ORDER BY username ASC;  # 按用户名升序排列
SELECT * FROM users ORDER BY id DESC;      # 按 ID 降序排列

5. 用户管理

CREATE USER: 创建用户
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT: 授予用户权限
GRANT ALL PRIVILEGES ON testdb.* TO 'username'@'localhost';  # 授予所有权限
GRANT SELECT, INSERT ON testdb.* TO 'username'@'localhost';  # 只授予 SELECT 和 INSERT 权限
FLUSH PRIVILEGES;: 刷新权限
FLUSH PRIVILEGES;  # 刷新权限,使更改生效
SHOW GRANTS: 查看用户权限
SHOW GRANTS FOR 'username'@'localhost';
REVOKE: 撤销用户权限
REVOKE ALL PRIVILEGES ON testdb.* FROM 'username'@'localhost';  # 撤销所有权限
DROP USER: 删除用户
DROP USER 'username'@'localhost';

6. 索引管理

CREATE INDEX: 创建索引
CREATE INDEX idx_username ON users(username);
DROP INDEX: 删除索引
DROP INDEX idx_username ON users;

7. 备份与恢复

备份数据库:使用 mysqldump 进行数据库备份
mysqldump -u root -p testdb > backup.sql  # 备份 testdb 数据库
恢复数据库:使用 mysql 恢复数据库
mysql -u root -p testdb < backup.sql  # 恢复数据库
备份单个表
mysqldump -u root -p testdb users > users_backup.sql  # 备份 users 表
备份所有数据库
mysqldump -u root -p --all-databases > all_databases_backup.sql

8. 查看 MySQL 服务状态

systemctl: 查看 MySQL 服务状态(适用于 systemd 系统)
systemctl status mysql        # 查看 MySQL 服务的状态
systemctl start mysql         # 启动 MySQL 服务
systemctl stop mysql          # 停止 MySQL 服务
systemctl restart mysql       # 重启 MySQL 服务
service: 使用 service 命令查看 MySQL 服务状态(适用于 init.d 系统)
service mysql status      # 查看 MySQL 服务的状态
service mysql start       # 启动 MySQL 服务
service mysql stop        # 停止 MySQL 服务

9. 常用 MySQL 配置文件位置

  • 配置文件路径
    • /etc/my.cnf/etc/mysql/my.cnf:MySQL 配置文件,配置数据库的各项参数
  • 日志文件路径
    • /var/log/mysql/error.log:MySQL 错误日志文件
    • /var/log/mysql/mysql.log:MySQL 查询日志(如果启用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值