Linux MySQL 常用命令

发布于:2024-12-20 ⋅ 阅读:(151) ⋅ 点赞:(0)

一、MySQL服务

1.检查MySQL服务状态

sudo systemctl status mysql

2.启动MySQL服务

sudo systemctl start mysql

3.停止MySQL服务

sudo systemctl stop mysql

4.重启MySQL服务

sudo systemctl restart mysql

二、MySQL查询操作

1.登录MySQL

mysql -u 用户名 -p

根据提示输入该用户的密码,密码不会显示,请注意密码输入准确性。

2.查询数据库

SHOW DATABASES;

通过SHOW DATABASES;查看所有可用的数据库,然后使用USE命令选择一个数据库。

USE 数据库名称;

3.显示所有表

SHOW TABLES;

4.查询表数据

SELECT * FROM 表名 WHERE 条件;

如果只想执行一个简单的查询而不进入MySQL命令行界面,可以在命令行中使用-e选项直接执行查询:

mysql -u 用户名 -p -e "USE 数据库名称; SELECT * FROM 表名;"

5.查询所有用户

SELECT User, Host FROM mysql.user;

这条语句会列出所有的用户名以及他们允许连接的主机名。因为MySQL用户是由用户名和主机名共同组成的,所以同一个用户名可以存在于不同的主机上。

三、MySQL用户管理

1.查询用户权限

SHOW GRANTS FOR '用户名'@'主机名';

或者查询information_schema数据库中的USER_PRIVILEGES表来获得用户的权限信息:

SELECT * FROM information_schema.USER_PRIVILEGES;

从MySQL 5.7开始,performance_schema提供了accounts表,它包含了关于客户端账户的统计信息,包括用户名和主机:(适用于MySQL 5.7及以上版本)

SELECT USER, HOST FROM performance_schema.accounts;

2.创建新用户

CREATE USER '新用户名'@'主机名' IDENTIFIED BY '密码';

'新用户名'是你想要创建的用户名。

'主机名'是用户可以从哪里连接。通常使用'localhost'表示用户只能从本地服务器连接,使用'%'表示用户可以从任何主机连接。

'密码'是用户的密码。

3.授予权限

GRANT 权限 ON 数据库.表 TO '用户名'@'主机名';

常见的权限包括SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALL PRIVILEGES等。如果你想要授予所有权限,可以这样做:

GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'%';

如果你想让用户能够创建和删除表,但不能修改现有数据,你可以这样授予权限:

GRANT CREATE, DROP ON mydatabase.* TO 'myuser'@'%';

 4.刷新权限

每当更改用户权限时,应该刷新权限以使更改生效:

FLUSH PRIVILEGES;

5.撤销权限

如果需要撤销某个用户的权限,可以使用REVOKE语句:

REVOKE 权限 ON 数据库.表 FROM '用户名'@'主机名';

例如,撤销myuser对mydatabase的所有权限:

REVOKE ALL PRIVILEGES ON mydatabase.* FROM 'myuser'@'%';

6.删除用户

要删除用户,可以使用DROP USER语句:

DROP USER '用户名'@'主机名';

例如,删除myuser:

DROP USER 'myuser'@'%';


网站公告

今日签到

点亮在社区的每一天
去签到