MySQL - 安装、连接、简单介绍
1、安装 MySQL8.0
安装MySQL 8.0的步骤,以 Windows 为例:
1.1 下载MySQL Installer:
需要从MySQL官方网站下载MySQL Installer。在下载页面中,选择适用于Windows的MySQL Installer并下载。
1.2 运行MySQL Installer:
下载完成后,运行下载的MySQL Installer。安装程序将会指导你完成MySQL的安装过程。
1.3 选择安装类型:
在MySQL Installer中,可以选择安装MySQL的不同组件,包括Server、Workbench、Shell等。选择Server选项,这将安装MySQL数据库服务器。
1.4 选择MySQL版本:
选择要安装的MySQL版本。选择MySQL 8.0版本。
1.5 安装过程:
接下来,MySQL Installer会下载所选版本的MySQL并开始安装过程。按照安装向导的指示进行操作。在过程中,你可以设置MySQL的root用户密码和其他配置。
1.6 启动MySQL服务:
安装完成后,MySQL服务将会自动启动。你可以在Windows的服务列表中查看MySQL服务是否正在运行。
1.7 连接MySQL:
安装完成后,可以使用MySQL Workbench等MySQL客户端工具来连接和管理MySQL服务器。使用root用户密码登录MySQL Workbench。
1.8 测试连接:
连接成功后,可以通过MySQL Workbench或其他MySQL客户端工具来测试连接,执行SQL查询等操作。
2、JetBrains开发的DataGrip:
DataGrip是一款由JetBrains开发的数据库集成开发环境(IDE)。JetBrains是一家知名的软件开发工具公司,他们也开发了许多受欢迎的IDE,如IntelliJ IDEA(Java开发工具)、PyCharm(Python开发工具)等。
DataGrip专注于数据库开发和管理,它为开发人员和数据库管理员提供了一个功能强大的工具,用于连接、查询、编辑和管理各种类型的数据库。它支持许多常见的关系型数据库,包括MySQL、PostgreSQL、Oracle、SQL Server、SQLite等,以及一些非关系型数据库如MongoDB。
DataGrip提供了许多有用的功能,使得数据库开发更加高效和方便,包括:
数据库连接管理: DataGrip允许你轻松连接到多个数据库,你可以配置数据库连接参数,保存连接配置,并且可以快速切换连接。SQL查询和编辑: DataGrip提供了功能强大的SQL编辑器,支持SQL代码自动完成、语法高亮、代码导航和错误检查等功能,使得编写和调试SQL查询更加方便。数据可视化: DataGrip允许你以表格形式查看数据库中的数据,并支持图表展示查询结果,使得数据可视化更加直观。数据导入和导出: DataGrip支持将数据从数据库导出为不同格式的文件,也支持将外部数据导入到数据库中,使得数据迁移更加简单。数据库管理: DataGrip提供了数据库对象管理功能,你可以管理数据库表、视图、存储过程、触发器等对象,也可以执行数据库维护任务。版本控制: DataGrip集成了版本控制系统(如Git),允许你对数据库脚本和结构进行版本管理。
3、连接
在使用DataGrip连接MySQL数据库时,需要提供以下信息:
3.1 数据库连接信息:
主机名或IP地址:MySQL数据库所在的主机名或IP地址。端口号:MySQL数据库的端口号,默认为3306。数据库名称:要连接的具体数据库的名称。用户名和密码:连接到MySQL数据库所需的用户名和对应的密码。
3.1.1 SSH隧道(如果需要):
如果你的MySQL数据库位于受限制的网络中,需要通过SSH隧道进行连接,你还需要提供SSH服务器的信息,包括SSH主机名、SSH端口号、SSH用户名和对应的SSH密码或密钥文件。
在DataGrip中,可以通过以下步骤来连接MySQL数据库:
1、打开DataGrip并点击"Connect to Database"(连接到数据库)按钮。2、在连接对话框中选择MySQL数据库类型。3、输入MySQL数据库的主机名、端口号、数据库名称、用户名和密码。4、如果需要SSH隧道,点击"SSH/SSL"选项卡,并填写SSH服务器的信息。5、点击"Test Connection"(测试连接)按钮来验证连接是否成功。6、如果连接测试成功,点击"OK"按钮来保存连接配置。
一旦连接成功,DataGrip将会显示数据库的结构和内容,你可以开始执行SQL查询、编辑数据库等操作。请确保提供的连接信息是正确的,并且你有权限连接到指定的MySQL数据库。
4、配置
4.1 添加用户
在MySQL中,默认情况下,root用户是具有超级用户权限的管理员账户,拥有对MySQL服务器的完全控制权限。由于root用户具有最高权限,不建议在实际应用中直接使用root用户进行普通操作,以防止意外的安全风险。
为了安全起见,通常建议创建一个专门用于应用程序或普通用户操作的新用户,并为其分配适当的权限。以下是在MySQL中创建新用户的步骤:
以root用户登录: 首先,使用root用户登录到MySQL服务器。在命令提示符窗口或MySQL客户端中,使用以下命令连接到MySQL服务器:
mysql -u root -p
系统将提示你输入root用户的密码。也可以
mysql -u root -p 密码
创建新用户: 登录成功后,可以使用以下SQL语句来创建新用户。将"new_user"和"password"替换为你想要的用户名和密码。
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';
这将在MySQL中创建一个新用户,并指定其用户名和密码。
CREATE USER 'lfsun'@'localhost' IDENTIFIED BY '123321';
授予权限: 接下来,需要为新用户分配适当的权限。可以根据具体需求为用户授予特定数据库或表的读写权限,或者赋予全局权限。例如,为了让新用户具有对所有数据库的读写权限,可以使用以下命令:
GRANT ALL PRIVILEGES ON *.* TO 'lfsun'@'localhost';
这将授予新用户对所有数据库的所有权限。
刷新权限: 在分配权限后,需要刷新MySQL的权限表,以使更改生效。可以使用以下命令刷新权限:
FLUSH PRIVILEGES;
退出MySQL: 最后,使用以下命令退出MySQL客户端:
exit;
完成上述步骤后,就成功创建了一个新用户并为其分配了适当的权限。现在,可以使用新用户的凭据登录到MySQL服务器,并执行具有相应权限的操作。
4.2 用户都有哪些权限?
在MySQL中,用户可以被授予不同级别的权限,以控制对数据库和数据库对象的访问和操作。以下是常见的MySQL用户权限级别:
ALL PRIVILEGES: 表示用户具有对所有数据库和表的完全权限,包括SELECT、INSERT、UPDATE、DELETE、CREATE、DROP、ALTER等权限。SELECT: 允许用户从数据库表中查询数据。INSERT: 允许用户向数据库表中插入新数据。UPDATE: 允许用户修改数据库表中的现有数据。DELETE: 允许用户从数据库表中删除数据。CREATE: 允许用户创建新的数据库或表。DROP: 允许用户删除数据库或表。ALTER: 允许用户修改数据库表的结构。GRANT OPTION: 允许用户将自己拥有的权限授予其他用户。EXECUTE: 允许用户执行存储过程。SHOW DATABASES: 允许用户查看所有数据库的列表。SHOW VIEW: 允许用户查看数据库中的视图。CREATE ROUTINE: 允许用户创建存储过程和函数。ALTER ROUTINE: 允许用户修改存储过程和函数。EVENT: 允许用户创建、修改和删除事件。TRIGGER: 允许用户创建和删除触发器。
4.2.1 一般情况下都有哪些权限?
在一般情况下,用户的权限应根据其在数据库中的角色和责任来进行合理分配。以下是在一般情况下常见的权限设置:
管理员权限:
ALL PRIVILEGES:数据库管理员通常需要具有对所有数据库和表的完全权限,以便进行数据库的管理和维护操作。
应用程序用户权限:
SELECT:应用程序用户通常只需要从数据库中查询数据,所以应该授予SELECT权限。INSERT:如果应用程序需要向数据库中插入新数据,应该授予INSERT权限。UPDATE:如果应用程序需要修改数据库中的数据,应该授予UPDATE权限。DELETE:如果应用程序需要从数据库中删除数据,应该授予DELETE权限。
数据库开发者权限:
SELECT:数据库开发者需要查询和读取数据库中的数据,因此应该有SELECT权限。INSERT:开发者可能需要向数据库中插入测试数据或新记录,所以应该授予INSERT权限。UPDATE:开发者可能需要更新测试数据或纠正错误,所以应该授予UPDATE权限。
只读权限:
SELECT:有些用户可能只需要查看数据而没有修改权限,可以只授予SELECT权限,从而实现只读访问。
一般来说,为了保证数据库的安全性和数据完整性,应该遵循最小权限原则,即为用户分配最少所需的权限,不给予不必要的权限。管理员用户可能需要更高级别的权限以便管理数据库,而普通应用程序用户通常只需要具有查询和读写数据的权限。
来源地址:https://blog.csdn.net/qq_43116031/article/details/131884801
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341