立聪堂德州十三局店 发表于 7 天前

Linux下常用的MySQL 下令详解

戳底部名片,体验知识变现的乐趣

1. 安装与启动 MySQL

安装 MySQL
根据你的 Linux 发行版选择符合的包管理器来安装 MySQL:


[*] 基于 Debian 的体系(如 Ubuntu)
sudo apt update
sudo apt install mysql-server

[*] 基于 Red Hat 的体系(如 CentOS 或 Fedora)
sudo yum install mysql-server# 对于 CentOS 7 及更早版本
# 或者
sudo dnf install mysql-server# 对于 Fedora 和 CentOS 8 及更高版本

启动 MySQL 服务
安装完成后,启动 MySQL 服务,并设置为开机自启:
sudo systemctl start mysql
sudo systemctl enable mysql
安全设置
首次启动后运行 mysql_secure_installation 来进步安全性:
sudo mysql_secure_installation
这将引导你完成一系列的安全选项设置,包括移除匿名用户、禁止远程 root 登录等。
2. 毗连到 MySQL

毗连到本地 MySQL 服务器:
mysql -u root -p
体系会提示你输入密码。成功登录后,你会进入 MySQL shell 情况。
3. 创建和管理数据库

创建数据库
在 MySQL shell 中创建一个新的数据库:
CREATE DATABASE database_name;
列出全部数据库
检察当前 MySQL 实例中的全部数据库:
SHOW DATABASES;
选择数据库
切换到特定的数据库以执行后续操作:
USE database_name;
删除数据库
删除不再需要的数据库:
DROP DATABASE database_name;
4. 创建和管理表

创建表
定义并创建一个新的表结构:
CREATE TABLE table_name (
    column1 datatype constraints,
    column2 datatype constraints,
    ...
);
比方,创建一个名为 users 的表:
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(255) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
检察表结构
查抄现有表的列信息:
DESCRIBE table_name;
或者使用 SHOW COLUMNS FROM table_name;
修改表
添加新列或更改现有列:
ALTER TABLE table_name ADD COLUMN new_column datatype constraints;
ALTER TABLE table_name MODIFY COLUMN existing_column datatype new_constraints;
删除表
彻底删除一个表及其全部数据:
DROP TABLE table_name;
5. 插入、更新和删除数据

插入数据
向表中添加新的记载:
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
比方,向 users 表中插入一行:
INSERT INTO users (username, password) VALUES ('john_doe', 'hashed_password');
更新数据
修改已有的记载:
UPDATE table_name SET column1=value1, column2=value2, ... WHERE condition;
比方,更新用户名为 john_doe 的用户密码:
UPDATE users SET password='new_hashed_password' WHERE username='john_doe';
删除数据
从表中移除特定记载:
DELETE FROM table_name WHERE condition;
比方,删除用户名为 john_doe 的用户:
DELETE FROM users WHERE username='john_doe';
6. 查询数据

基本查询
从表中检索数据:
SELECT column1, column2, ... FROM table_name WHERE condition;
比方,获取全部用户的用户名和创建时间:
SELECT username, created_at FROM users;
条件查询
使用 WHERE 子句过滤结果集:
SELECT * FROM table_name WHERE column = value;
比方,查找全部姓氏为 Smith 的用户:
SELECT * FROM users WHERE last_name = 'Smith';
排序查询
按指定列对结果进行排序:
SELECT * FROM table_name ORDER BY column ;
比方,按创建时间降序分列用户列表:
SELECT * FROM users ORDER BY created_at DESC;
分页查询
限制返回的结果数目,并支持分页:
SELECT * FROM table_name LIMIT offset, count;
比方,分页表现每页 10 条记载:
SELECT * FROM users LIMIT 0, 10; -- 第一页
SELECT * FROM users LIMIT 10, 10; -- 第二页
聚合函数
盘算总数、均匀值、最大值、最小值等统计信息:
SELECT COUNT(*), AVG(column), MAX(column), MIN(column) FROM table_name;
比方,盘算用户的总数和均匀年龄:
SELECT COUNT(*), AVG(age) FROM users;
7. 用户权限管理

创建用户
创建一个新的 MySQL 用户:
CREATE USER 'user_name'@'host' IDENTIFIED BY 'password';
比方,创建一个名为 app_user 的用户,答应其从任何主机毗连:
CREATE USER 'app_user'@'%' IDENTIFIED BY 'secure_password';
授予权限
授予用户对特定命据库或表的操作权限:
GRANT ALL PRIVILEGES ON database_name.* TO 'user_name'@'host';
比方,授予 app_user 对 my_database 的全部权限:
GRANT ALL PRIVILEGES ON my_database.* TO 'app_user'@'%';
撤销权限
收回之前授予的权限:
REVOKE ALL PRIVILEGES ON database_name.* FROM 'user_name'@'host';
删除用户
删除不再需要的用户:
DROP USER 'user_name'@'host';
8. 备份与恢复

备份数据库
使用 mysqldump 工具导出整个数据库或单个表:
mysqldump -u user_name -p database_name > backup.sql
恢复数据库
将 SQL 文件导入现有数据库中:
mysql -u user_name -p database_name < backup.sql
或者创建一个新的数据库并将数据导入此中:
mysql -u user_name -p -e "CREATE DATABASE new_database;"
mysql -u user_name -p new_database < backup.sql
9. 其他有用下令

退出 MySQL Shell
离开 MySQL shell 并返回到终端:
EXIT;
或者使用 QUIT; 或直接按 Ctrl+D。
表现当前使用的数据库
确认当前正在使用的数据库:
SELECT DATABASE();
表现表中的全部数据
检察表中的全部记载:
SELECT * FROM table_name;
表现 MySQL 版本
获取 MySQL 的版本信息:
SELECT VERSION();
戳底部名片,体验知识变现的乐趣


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Linux下常用的MySQL 下令详解