Linux服务器管理MySQL数据库的常见命
在 Linux 服务器上管理 MySQL 数据库,需要掌握一系列常用命令,以便高效完成数据库的安装、配置、管理和维护工作。以下是 MySQL 数据库管理的常见命令及其使用方法。
1. MySQL 服务管理
1.1 启动、停止、重启 MySQL 服务
管理 MySQL 服务的基本操作:
bash
复制
# 启动 MySQL 服务
sudo systemctl start mysql# 停止 MySQL 服务
sudo systemctl stop mysql# 重启 MySQL 服务
sudo systemctl restart mysql# 查看 MySQL 服务状态
sudo systemctl status mysql
2. 登录和退出 MySQL
2.1 登录 MySQL
登录到 MySQL 数据库,需提供用户名和密码:
bash
复制
# 使用 root 用户登录
mysql -u root -p
- 系统会提示输入
root
用户的密码。
2.2 退出 MySQL
从 MySQL Shell 中退出:
sql
复制
exit;
或
sql
复制
quit;
3. 数据库管理
3.1 查看所有数据库
显示当前服务器上的所有数据库:
sql
复制
SHOW DATABASES;
3.2 创建数据库
创建一个新的数据库:
sql
复制
CREATE DATABASE 数据库名;
3.3 删除数据库
删除一个数据库(需谨慎操作):
sql
复制
DROP DATABASE 数据库名;
3.4 使用某个数据库
切换到指定的数据库:
sql
复制
USE 数据库名;
4. 数据表管理
4.1 查看数据库中的所有表
列出当前数据库中的所有表:
sql
复制
SHOW TABLES;
4.2 创建表
创建一个名为 users
的表:
sql
复制
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(100) NOT NULL,email VARCHAR(100) NOT NULL UNIQUE,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
4.3 查看表结构
查看表的字段定义和结构:
sql
复制
DESCRIBE 表名;
或
sql
复制
SHOW COLUMNS FROM 表名;
4.4 删除表
删除一个表(会丢失所有数据):
sql
复制
DROP TABLE 表名;
5. 数据管理
5.1 插入数据
向表中插入一行数据:
sql
复制
INSERT INTO 表名 (字段1, 字段2, 字段3)
VALUES ('值1', '值2', '值3');
5.2 查询数据
从表中查询数据:
sql
复制
SELECT * FROM 表名;
带条件查询:
sql
复制
SELECT * FROM 表名 WHERE 字段1 = '某值';
5.3 更新数据
更新表中的数据:
sql
复制
UPDATE 表名
SET 字段1 = '新值'
WHERE 字段2 = '条件值';
5.4 删除数据
删除表中的数据:
sql
复制
DELETE FROM 表名 WHERE 字段1 = '某值';
6. 用户管理
6.1 创建用户
创建一个新用户并设置密码:
sql
复制
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
主机名
:'localhost'
:仅允许本地访问。'%'
:允许任意主机访问。
6.2 查看用户权限
显示用户的权限信息:
sql
复制
SHOW GRANTS FOR '用户名'@'主机名';
6.3 授予权限
授予用户对某数据库的访问权限:
sql
复制
GRANT 权限 ON 数据库名.* TO '用户名'@'主机名';
常见权限:
ALL PRIVILEGES
:所有权限。SELECT
:查询权限。INSERT
:插入权限。UPDATE
:更新权限。DELETE
:删除权限。
刷新权限:
sql
复制
FLUSH PRIVILEGES;
6.4 撤销权限
撤销用户权限:
sql
复制
REVOKE 权限 ON 数据库名.* FROM '用户名'@'主机名';
6.5 删除用户
删除用户:
sql
复制
DROP USER '用户名'@'主机名';
7. 数据备份与恢复
7.1 数据库备份
使用 mysqldump
备份数据库:
bash
复制
# 备份单个数据库
mysqldump -u root -p 数据库名 > 数据库名.sql# 备份所有数据库
mysqldump -u root -p --all-databases > all_databases.sql
7.2 数据库恢复
从备份文件恢复数据库:
bash
复制
# 恢复到指定数据库
mysql -u root -p 数据库名 < 数据库名.sql# 恢复所有数据库
mysql -u root -p < all_databases.sql
8. 配置与优化
8.1 修改 MySQL 配置文件
MySQL 的主要配置文件路径:
bash
复制
/etc/mysql/my.cnf
常见配置:
- 最大连接数:
ini
复制
max_connections = 500
- 查询缓存:
ini
复制
query_cache_size = 64M query_cache_type = 1
8.2 重载配置
修改配置文件后,需重启 MySQL 服务:
bash
复制
sudo systemctl restart mysql
9. 性能监控与优化
9.1 查看运行状态
使用 SHOW STATUS
查看服务器状态:
sql
复制
SHOW STATUS;
9.2 查看当前连接
查看当前活动连接:
sql
复制
SHOW PROCESSLIST;
9.3 优化表
优化表以释放未使用的空间并提高性能:
sql
复制
OPTIMIZE TABLE 表名;
10. 常用工具
10.1 MySQL 命令行管理工具
- MySQL CLI:默认的命令行工具。
- MySQL Workbench:图形化管理工具,支持 SQL 查询、数据库建模等。
10.2 性能分析工具
- Percona Toolkit:用于查询性能分析和数据库优化。
- MySQLTuner:快速分析 MySQL 配置和性能的脚本。
总结
通过掌握以上常见命令,您可以轻松完成 MySQL 数据库的日常管理任务,包括数据库和用户管理、数据操作、备份与恢复、性能优化等。对于实际生产环境,建议定期备份数据库并优化配置,以保证系统的稳定性和高效运行。