`
小于Brick
  • 浏览: 89536 次
  • 性别: Icon_minigender_1
  • 来自: 新疆
社区版块
存档分类
最新评论

mysql 创建帐号并授权

阅读更多

数据库安装请参考:http://youngbrick.iteye.com/blog/2335851

 

创建数据库:

MariaDB [mysql]> create database mydbtest default charset utf8 collate utf8_general_ci;
Query OK, 1 row affected (0.01 sec)

 

查询数据库:

MariaDB [mysql]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| mydbtest         |
+--------------------+
4 rows in set (0.00 sec)

 

创建mysql登录用户:

 用户:brick

 密码:brick!123

 localhost:只允许本机访问

 %:允许远程访问

 

 

MariaDB [mysql]> insert into mysql.user(Host,User,Password) values('localhost','brick','brick!123');
Query OK, 1 row affected, 4 warnings (0.01 sec)

 mysql 5.7没有password 字段了,通过create 创建帐号

CREATE USER 'username'@'localhost' IDENTIFIED BY '123456';

 

查看创建的帐号:

MariaDB [(none)]> select user,host,password from mysql.user;
+-------+-----------+-------------------------------------------+
| user  | host      | password                                  |
+-------+-----------+-------------------------------------------+
| root  | localhost | *023D9E78C29EAF0470DC6CC2BCBFA87504FE06E1 |
| root  | 127.0.0.1 | *023D9E78C29EAF0470DC6CC2BCBFA87504FE06E1 |
| root  | ::1       | *023D9E78C29EAF0470DC6CC2BCBFA87504FE06E1 |
| brick | localhost | brick!123                                 |
+-------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)

 

发现密码错了,密码需要password(‘密码’)加密,修改一下:

MariaDB [(none)]> update mysql.user set password=password('brick!123') where user='brick';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

 

确认一下,再看一眼:

MariaDB [(none)]> select user,host,password from mysql.user;
+-------+-----------+-------------------------------------------+
| user  | host      | password                                  |
+-------+-----------+-------------------------------------------+
| root  | localhost | *023D9E78C29EAF0470DC6CC2BCBFA87504FE06E1 |
| root  | 127.0.0.1 | *023D9E78C29EAF0470DC6CC2BCBFA87504FE06E1 |
| root  | ::1       | *023D9E78C29EAF0470DC6CC2BCBFA87504FE06E1 |
| brick | localhost | *CEDA60EA702EFCE18A1B31CE4EB823FF363B8085 |
+-------+-----------+-------------------------------------------+
4 rows in set (0.00 sec)

 

授权,mydbtest所有权限授予brick帐号:

  刚上面修改了mysql.user表,flush privileges一下:

MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

 如果不执行上面的命令,授权时会出现这个错误:

MariaDB [mysql]> grant all privileges on mydbtest.* to brick@localhost;
ERROR 1133 (42000): Can't find any matching row in the user table

 

flush privileges执行完后,再执行grant授权。(mydbtest.*)mydbtest数据库的所有权限授予brick

 

MariaDB [(none)]> grant all privileges on mydbtest.* to brick@localhost;
Query OK, 0 rows affected (0.00 sec)
授权权限后也需要flush privileges;否则帐号没有权限登录,权限没有持久化到数据库中。
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

 

退出mysql:

MariaDB [mysql]> exit
Bye

 

重新登录mysql:

[root@localhost ~]# mysql -ubrick -p
Enter password: (输入密码)
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 13
Server version: 5.5.50-MariaDB MariaDB Server

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydbtest           |
+--------------------+
2 rows in set (0.00 sec)

MariaDB [(none)]> 

查看当前用户的权限:

 

MariaDB [(none)]> show grants;
+--------------------------------------------------------------------------------------------------------------+
| Grants for brick@localhost                                                                                   |
+--------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'brick'@'localhost' IDENTIFIED BY PASSWORD '*CEDA60EA702EFCE18A1B31CE4EB823FF363B8085' |
| GRANT ALL PRIVILEGES ON `mydbtest`.* TO 'brick'@'localhost'                                                  |
+--------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

 

=======================命令备注==========================

授权grant xxxx to xxx:

MariaDB [(none)]> grant all privileges on mydbtest.* to brick@localhost;

删除权限revoke   xxx  from xxx:跟授权很像,grant换成revoke,to换成from

MariaDB [(none)]> revoke all privileges on mydbtest.* from brick@localhost;

查看用户权限:show grants for xxxx@xxxx

MariaDB [(none)]> SHOW GRANTS FOR 'brick'@'localhost';
+--------------------------------------------------------------------------------------------------------------+
| Grants for brick@localhost                                                                                   |
+--------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'brick'@'localhost' IDENTIFIED BY PASSWORD '*CEDA60EA702EFCE18A1B31CE4EB823FF363B8085' |
+--------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

 

更详细的授权命令写法: 

https://www.techonthenet.com/mariadb/grant_revoke.php

 

 

数据导入:

将xx.sql文件放到/usr/local目录

登录mysql进入命令行

msyqlxx>use mydb;
mysqxx>source /usr/local/xx.sql;

 

 

 

 

 

 

分享到:
评论

相关推荐

    mysql远程访问授权

    在探讨“mysql远程访问授权”这一主题时,我们首先需要理解MySQL作为一种广泛使用的开源关系型数据库管理系统,如何通过网络提供服务,以及如何安全地管理远程访问权限。远程访问授权是MySQL服务器安全策略的重要...

    mysql数据库创建账号、授权、数据导出、导入操作示例

    在MySQL中,我们使用`GRANT`语句来创建账号并赋予相应的权限。例如,创建一个名为`yangxin`的用户,并授予所有权限,允许其从任何主机 `%` 登录,密码为`yangxin123456`,可以这样操作: ``` GRANT ALL ...

    MySQL新建用户,授权,删除用户,修改密码

    本文将深入探讨如何在MySQL中新建用户、授权、删除用户以及修改密码的过程与细节,旨在为数据库管理员提供实用的操作指南。 ### MySQL新建用户 新建用户是数据库管理中最基础的操作之一。在MySQL中,这一过程可以...

    路由器刷OpenWrt打造全能服务器(七)安装mysql资料.pdf

    mysql -u root mysql命令用于连接mysql服务器,并修改账号连接权限。update user set host = '%' where user = 'root'命令用于将root用户的连接权限设置为任何主机,而flush privileges命令用于刷新mysql的权限系统...

    MySQL用户创建及赋权

    MySQL是世界上最流行的开源关系型数据库管理系统之一,管理MySQL的一个重要方面是用户账户的创建、授权、权限管理和删除。本文将详细讲解如何在MySQL中进行这些操作。 首先,我们来看用户创建。MySQL允许管理员通过...

    用phpMyadmin创建Mysql数据库及独立数据库帐号的图文教程归纳.pdf

    我们可以使用 PHPMyAdmin 创建数据库、创建账号、设置权限等。 知识点6: 数据库安全 数据库安全是指保护数据库免受未经授权的访问、使用、泄露或破坏的安全措施。我们可以通过创建独立数据库账号、设置访问权限、...

    mysql数据库授权.docx

    此外,创建专用的数据库用户账号,而不是使用管理员账号进行常规操作,也是最佳实践之一。 综上所述,MySQL 数据库授权是数据库管理的关键组成部分,正确配置和管理权限对于维护数据安全至关重要。理解并熟练运用 ...

    mysql设置指定ip远程访问连接实例

    总结,设置MySQL指定IP远程访问连接涉及权限授权、防火墙配置以及安全策略的调整。通过遵循上述步骤并确保安全性,你可以让指定的IP地址访问远程MySQL数据库,从而实现更灵活的数据库管理与协作。

    mysql-wins-32-64

    - 用户权限:MySQL有严格的用户权限管理,root用户拥有所有权限,但为了安全,建议为日常操作创建单独的普通用户,并限制其权限。 - 密码策略:设置强密码,定期更换,防止未授权访问。 5. **连接和管理**: - ...

    MySQL高可用系列(一)——简单主从复制

    粗放目录并授权 3、安装步骤 4、添加配置文件,启动服务 三、主从复制配置 1、在主库上准备复制账号 2、查看主库的二进制文件和位置 3、切换到从库并执行以下连接语句 四、测试 1、在主数据库上创建数据库和表并添加...

    Linux下mysql安装及数据库创建.pdf

    本文将详细讲解在RHEL 5(64位英文版)上安装MySQL的过程,以及如何配置端口,创建用户,授权,管理数据库和表,以及修改用户密码等操作。 首先,安装MySQL可以通过下载RPM安装包进行。在终端中,你可以使用`yum ...

    MYSQL无法远程连接

    - 登录MySQL并执行以下命令,以授予指定用户(例如`root`)从任意主机(`%`表示所有主机)连接的权限,并且可以使用指定密码(例如`123456`)进行认证。 ```sql GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' ...

    通过Shell脚本批量创建服务器上的MySQL数据库账号

    公司有数百台 MySQL 实例,如果手动登入来创建账号很麻烦,也不现实。所以,我们写了一个简单的shell脚本,用来创建批量服务器的mysql 账号。  2.执行脚本内容; #!/bin/bash ## 此段shell 脚本的主要功能是实现在...

    mysql51.zip

    - 保持MySQL服务器的更新,及时修补安全漏洞,避免未授权访问。 - 监控MySQL性能,例如通过SHOW STATUS和SHOW VARIABLES命令查看服务器状态,分析慢查询日志优化SQL。 5. **社区支持**: - MySQL拥有庞大的...

    MySQL进阶-讲义

    1. **登录MySQL**:使用具有管理员权限的账号登录MySQL。 2. **插入新用户**:使用SQL语句 `INSERT INTO mysql.user (Host, User, Password) VALUES ('localhost', 'username', PASSWORD('password'));` 来创建新...

    MySql5.7.17 windows版的安装

    3. **创建并编辑`my.ini`文件**: - 在解压后的目录中找到`my-default.ini`文件,并将其复制重命名为`my.ini`。 - 使用文本编辑器打开`my.ini`文件,在其中添加以下内容: ```ini [client] default-character-...

Global site tag (gtag.js) - Google Analytics