mysql必知必会软件安装_MySQL必知必会—安装应用篇

MySQL 安装

推荐几个 MySQL 安装和连接的经验文章

MySQL 应用

mysql 命令行

命令输入在 mysql> 之后;

命令用 ; 或 g 结束,换句话说,仅按 Enter 不执行命令;

输入 help 或 h 获得帮助,也可以输入更多的文本获得特定命令的帮助(如,输入 help select 获得试用 SELECT 语句的帮助);

输入 quit 或 exit 退出命令行。

连接数据库

连接数据库需要以下信息:

主机名(计算机名)——如果连接到本地 MySQL 服务器,为 localhost ;

端口(如果使用默认端口 3306 之外的端口);

一个合法的用户名;

用户口令(如果需要)

例如下面的指令:

mysql -u root -h localhost -P 3306 -p

数据库的登录和成员管理

访问控制

MySQL 服务器的安全基础是:用户应该对他们需要的数据具有适当的访问权,既不能多也不能少。

需要给用户提供他们所需的访问权,且仅提供他们所需的访问权。这就是所谓的访问控制。访问控制的目的不仅仅是防止用户的恶意企图,访问控制也有助于避免很常见的无意识错误的结果,如错打 MySQL 语句,在不合适的数据库中操作或其他一些用户错误。

管理用户

查询已有用户

MySQL 用户账号和信息存储在名为 mysql 的 MySQL数据库中。一般只有在需要获得所有用户账号列表时才会直接访问。

# 输入

USE mysql;

SELECT user FROM user;

# 输出

+------------------+

| user |

+------------------+

| test |

| root |

+------------------+

创建用户账号

1、使用 CREATE USER 语句(推荐)

# 输入

CREATE USER chenfangxu IDENTIFIED BY '123456';

SELECT user FROM user;

#输出

+------------------+

| user |

+------------------+

| chenfangxu |

| test |

| root |

+------------------+

2、GRANT 语句也可以创建用户账号。(MySQL 8.0以上的新版本已经将创建账户和赋予权限分开了,所以不能再用这种方法创建用户了)

# mysql8.0以下

GRANT SELECT ON *.* TO chenfangxu@'%' IDENTIFIED BY '123456';

3、使用 INSERT 直接插入行到 user 表来增加用户(不建议)

设置访问权限

在创建用户账号后,必须接着分配访问权限。新创建的用户账号没有访问权限。他们能登录 MySQL ,但不能看到数据,不能执行任何数据库操作。

查看赋予用户账号的权限 SHOW GRANTS FOR

# 输入

SHOW GRANTS FOR chenfangxu;

# 输出

+----------------------------------------+

| Grants for chenfangxu@% |

+----------------------------------------+

| GRANT USAGE ON *.* TO `chenfangxu`@`%` |

+----------------------------------------+

权限 USAGE ON *.* ,USAGE表示根本没有权限,这句话就是说在任意数据库和任意表上对任何东西没有权限。

chenfangxu@% 因为用户定义为 user@host, MySQL的权限用用户名和主机名结合定义,如果不指定主机名,则使用默认的主机名%(即授予用户访问权限而不管主机名)。

添加(更新)用户权限 GRANT privileges ON databasename.tablename TO 'username'@'host';

# 输入

GRANT SELECT ON performance_schema.* TO chenfangxu@'%';

SHOW GRANTS FOR chenfangxu;

# 输出

+------------------------------------------------------------+

| Grants for chenfangxu@% |

+------------------------------------------------------------+

| GRANT USAGE ON *.* TO `chenfangxu`@`%` |

| GRANT SELECT ON `performance_schema`.* TO `chenfangxu`@`%` |

+------------------------------------------------------------+

撤销用户的权限 REVOKE privileges ON databasename.tablename FROM 'username'@'host';

# 输入

REVOKE SELECT ON performance_schema.* FROM chenfangxu@'%';

SHOW GRANTS FOR chenfangxu;

#输出

+----------------------------------------+

| Grants for chenfangxu@% |

+----------------------------------------+

| GRANT USAGE ON *.* TO `chenfangxu`@`%` |

+----------------------------------------+

重命名

重命名:RENAME USER 'username' TO 'newusername';

# 输入

RENAME USER test TO test1;

SELECT user FROM user;

# 输出

+------------------+

| user |

+------------------+

| test1 |

| root |

+------------------+

更改用户密码(mysql 8.0.11后)

更改用户密码:SET PASSWORD FOR 'username'@'host' = 'newpassword';

SET PASSWORD FOR chenfangxu@'%' = '654321';

# 更改root密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';

删除用户

删除用户:DROP USER 'username'@'host';

# 输入

DROP USER chenfangxu@'%';

SELECT user FROM user;

#输出

+------------------+

| user |

+------------------+

| test |

| root |

+------------------+

MySQL 5 以前, DROP USER 只能用来删除用户账号,不能删除相关的权限。因此,如果使用旧版的 MySQL 需要先用 REVOKE 删除与账号相关的权限,然后再用 DROP USER 删除账号。

操作数据库

# 创建数据库,如创建 learnsql 数据库

CREATE DATABASE learnsql;

# 选择数据库,如选择 learnsql 数据库

USE learnsql;

# 显示数据库列表

SHOW DATABASES;

# 显示数据库内的表的列表

SHOW TABLES;

# 显示表中每一列的详细信息

SHOW COLUMNS FROM customers;

DESCRIBE 语句

MySQL 中 DESCRIBE 可以作为 SHOW COLUMNS FROM 的快捷方式。

# 以下两种命令结果相同

SHOW COLUMNS FROM customers;

DESCRIBE customers;

一个持续更新的github笔记,链接地址:Front-End-Basics,可以watch,也可以star。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值