重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先以root身份登录到MySQL服务器中。
十余年的临河网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整临河建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“临河网站设计”,“临河网站推广”以来,每个客户项目都认真落实执行。
$ mysql -u root -p
当验证提示出现的时候,输入MySQL的root帐号的密码。
创建一个MySQL用户
使用如下命令创建一个用户名和密码分别为"myuser"和"mypassword"的用户。
mysql CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
一旦用户被创建后,包括加密的密码、权限和资源限制在内的所有帐号细节都会被存储在一个名为user的表中,这个表则存在于mysql这个特殊的数据库里。
运行下列命令,验证帐号是否创建成功
mysql SELECT host, user, password FROM mysql.user WHERE user='myuser';
赋予MySQL用户权限
一个新建的MySQL用户没有任何访问权限,这就意味着你不能在MySQL数据库中进行任何操作。你得赋予用户必要的权限。以下是一些可用的权限:
ALL: 所有可用的权限
CREATE: 创建库、表和索引
LOCK_TABLES: 锁定表
ALTER: 修改表
DELETE: 删除表
INSERT: 插入表或列
SELECT: 检索表或列的数据
CREATE_VIEW: 创建视图
SHOW_DATABASES: 列出数据库
DROP: 删除库、表和视图
运行以下命令赋予"myuser"用户特定权限。
mysql GRANT privileges ON database.table TO 'myuser'@'localhost';
以上命令中,privileges 代表着用逗号分隔的权限列表。如果你想要将权限赋予任意数据库(或表),那么使用星号(*)来代替数据库(或表)的名字。
例如,为所有数据库/表赋予 CREATE 和 INSERT 权限:
mysql GRANT CREATE, INSERT ON *.* TO 'myuser'@'localhost';
验证给用户赋予的全权限:
mysql SHOW GRANTS FOR 'myuser'@'localhost';
将全部的权限赋予所有数据库/表:
mysql GRANT ALL ON *.* TO 'myuser'@'localhost';
你也可以将用户现有的权限删除。使用以下命令废除"myuser"帐号的现有权限:
mysql REVOKE privileges ON database.table FROM 'myuser'@'localhost';
为用户添加资源限制
在MySQL中,你可以为单独的用户设置MySQL的资源使用限制。可用的资源限制如下:
MAX_QUERIES_PER_HOUR: 允许的每小时最大请求数量
MAX_UPDATES_PER_HOUR: 允许的每小时最大更新数量
MAX_CONNECTIONS_PER_HOUR: 允许的每小时最大连接(LCTT译注:其与 MySQL全局变量: max_user_connections 共同决定用户到数据库的同时连接数量)数量
MAX_USER_CONNECTIONS: 对服务器的同时连接量
使用以下命令为"myuser"帐号增加一个资源限制:
mysql GRANT USAGE ON database.table TO 'myuser'@'localhost' WITH resource-limits;
在 resource-limits 中你可以指定多个使用空格分隔开的资源限制。
例如,增加 MAXQUERIESPERHOUR 和 MAXCONNECTIONSPERHOUR 资源限制:
mysql GRANT USAGE ON *.* TO 'myuser'@'localhost' WITH MAX_QUERIES_PER_HOUR 30 MAX_CONNECTIONS_PER_HOUR 6;
验证用户的资源限制:
mysql SHOW GRANTS FOR 'myuser'@'localhost;
创建和设置一个MySQL用户最后的一个重要步骤:
mysql FLUSH PRIVILEGES;
如此一来更改便生效了。现在MySQL用户帐号就可以使用了。
某天有人问了我一个有关 MySQL PROXY 用户该如何使用的问题。
原问题是这样的:MySQL 版本从 5.5 升级到 8.0 后,proxy 用户怎么无法使用了?我之前是按照你博客上写的方法使用的,但是在升级后,安装插件提示如下错误:
这个咋回事?
我给了一个大家都很讨厌的答案: 去看 MySQL8.0 官方手册吧。
auth_test_plugin.so 是 MySQL 5.5 的插件,仅限于测试环境,不推荐线上使用,仅限功能演示。之后的一系列大版本安装包里都不包含这个插件,所以使用方法有些差异。
我在下面示例中使用插件 mysql_native_password ,这个插件自带 proxy 用户功能,所以需要在配置文件里开启对应的开关,并重启 MySQL 实例:(如果使用 sha256_password , 应该把参数 sha256_password_proxy_users=ON 也加到配置文件里。)
使用 proxy 用户功能之前,需要安装 mysql_no_login 插件,阻止隐藏在 proxy 用户下的真实用户登录 MySQL 。
创建一个 proxy 用户 ytt_fake ,使用认证插件 mysql_native_password :
使用 Proxy 用户登录 MySQL :
确认下变量 proxy_user 的值是不是 ytt_fake :
使用 proxy 用户登录后,查看当前登录用户信息:用户实际上是 ytt_real 。
确认下权限:具有真实用户的所有权限。
用 proxy 用户创建表、插入记录、查询、销毁表:
由于真实用户 ytt_real 使用认证插件 mysql_no_login ,MySQL 不允许此用户登录:
但是在一些特殊情况下,我们不想使用这个 root 用户来使用。你比如主机提供商,他们在提供数据库的时候就有肯能不想购买者使用 root 用户来登录他们提供的数据库服务器,而是向这些购买者分配一个随机的用户。他们是怎样做到的呢?这里我们来向大家说说如何以一个普通的用户来使用MySQL数据库。 MySQL服务器mysqld能被任何用户启动并运行。为了将mysqld改由Unix用户user_name来运行,你必须做下列事情:
如果它正在运行,停止服务器(使用mysqladmin shutdown)。
改变数据库目录和文件以便user_name有权限读和写文件(你可能需要作为Unix的root用户才能做到):
shell chown -R user_name /path/to/mysql/datadir
如果在MySQL数据目录中的目录或文件是符号链接,你也将需要顺着那些链接并改变他们指向的目录和文件。chown -R不能跟随符号链接。
以user_name用户启动服务器,或如果你正在使用MySQL 3.22或以后版本,以Unix root用户启动mysqld并使用--user=user_name选项,mysqld将在接受任何连接之前切换到以Unix user_name用户运行。
如果在系统被重新启动时,你使用mysql.server脚本启动mysqld,你应该编辑mysql.server用su以用户user_name运行mysqld,或使用--user选项调用mysqld。(不改变safe_mysqld是必要的。) 现在,你的mysqld进程应该正在作为Unix用户user_name运行,并运行完好。尽管有一件事情没有变化:权限表的内容。缺省 地(就在运行了脚本mysql_install_db安装的权限表后),MySQL用户root是唯一有存取mysql数据库或创建或抛弃数据库权限的用户。除非你改变了那些权限,否则他们仍然保持。当你作为一个Unix用户而不是root登录时,这不应该阻止你作为MySQL root用户来存取MySQL;只要为客户程序指定-u root的选项。
注意通过在命令行上提供-u root,作为root存取MySQL,与作为Unix root用户或其他Unix用户运行MySQL没有关系。MySQL的存取权限和用户名与Unix用户名字是完全分开的。唯一与Unix用户名有关的是,如果当你调用一个客户程序时,你不提供一个-u选项,客户将试图使用你的Unix登录名作为你的MySQL用户名进行连接。
如果你的Unix机器本身不安全,你可能应该至少在存取表中为MySQL root用户放上一个口令。
为了将mysqld改由Unix用户user_name来运行,你必须做下列事情: 如果它正在运行,停止服务器(使用mysqladmin shutdown)。 改变数据库目录和文件以便user_name有权限读和写文件(你可能需要作为Unix的root用户才能做到):shell chown -R user_name /path/to/mysql/datadir如果在MySQL数据目录中的目录或文件是符号链接,你也将需要顺着那些链接并改变他们指向的目录和文件。chown -R不能跟随符号链接。以user_name用户启动服务器,或如果你正在使用MySQL 3.22或以后版本,以Unix root用户启动mysqld并使用--user=user_name选项,mysqld将在接受任何连接之前切换到以Unix user_name用户运行。 如果在系统被重新启动时,你使用mysql.server脚本启动mysqld,你应该编辑mysql.server用su以用户user_name运行mysqld,或使用--user选项调用mysqld。(不改变safe_mysqld是必要的。) 现在,你的mysqld进程应该正在作为Unix用户user_name运行,并运行完好。尽管有一件事情没有变化:权限表的内容。缺省 地(就在运行了脚本mysql_install_db安装的权限表后),MySQL用户root是唯一有存取mysql数据库或创建或抛弃数据库权限的用户。除非你改变了那些权限,否则他们仍然保持。当你作为一个Unix用户而不是root登录时,这不应该阻止你作为MySQL root用户来存取MySQL;只要为客户程序指定-u root的选项。注意通过在命令行上提供-u root,作为root存取MySQL,与作为Unix root用户或其他Unix用户运行MySQL没有关系。MySQL的存取权限和用户名与Unix用户名字是完全分开的。唯一与Unix用户名有关的是,如果当你调用一个客户程序时,你不提供一个-u选项,客户将试图使用你的Unix登录名作为你的MySQL用户名进行连接。如果你的Unix机器本身不安全,你可能应该至少在存取表中为MySQL root用户放上一个口令。
在我们日常生活中偶尔会遇到一些自己不知道如何解决的问题,比如使用安装好的mysql。那么我们应该怎样解决这种自己不知道如何使用安装好的mysql的情况呢?那么接下来就由我来介绍一下使用安装好的mysql的步骤吧。
本次操作以Dell电脑为例,具体操作步骤如下:
第一步:
首先,打开MySQLWorkbench,双击打开即可。打开后的界面如下所示,然后选择数据库实例,双击进行登录。图中数据库的实例是LocalinstanceMYSQL57
第二步:
然后,输入用户名和密码进行登录。如下图所示:
第三步:
登录成功后,界面如下所示。其中,区域1显示的是数据库服务器中已经创建的数据库列表。区域2是关于数据库的操作列表。区域三是sql的编辑器和执行环境,区域4是执行结果的列表
第四步:
在sql的编辑器中输入测试语句,如图所示,其中world数据库是mysql自带的测试数据库,然后选择执行(或者使用快捷键ctrl+enter)。执行成功后,查询结果会显示在下面的列表中。
第五步:
使用完毕后,直接退出,并且如果无需数据库的后继操作的话,记得关掉MySQL的服务
看了我的方法,现在你学会如何使用安装好的mysql了吗?学会了的话就快快把这个方法分享出去,让更多的人知道如何使用安装好的mysql。以上就是使用安装好的mysql的步骤。
本文章基于Dell品牌、Windows10系统撰写的。