mysql 添加用户,授权,远程登陆,远程导入导出数据库,用户及权限查询,新增用户无法登陆,

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 首先提示一点,当使用新增用户登陆失败: root@controller:~# mysql -h localhost -ukeystone -ppassword  ERROR 1045 (28000): Access denied for user 'keystone'@'localhost' (using password: YES)解决方法:  增加普通用户后,执行: mysq

首先提示一点,当使用新增用户登陆失败

root@controller:~# mysql -h localhost -ukeystone -ppassword 
ERROR 1045 (28000): Access denied for user 'keystone'@'localhost' (using password: YES)
解决方法: 
增加普通用户后,执行: 
mysql> use mysql
mysql> delete from user where user='';
mysql> flush privileges;

意思是删除匿名用户。

OK,搞定,enjoy!


添加用户及授予权限

grant all privileges on *.* to lhy@'10.163.225.87'  identified by '123';      *.*代表所有表,lhy是账户,‘123′是密码, “10.163.225.87“是ip,当ip地址是“%”时匹配所有地址。



GRANT USAGE ON *.* TO 'discuz'@'localhost' IDENTIFIED BY PASSWORD '*C242DDD213BE9C6F8DA28D49245BF69FC79A86EB'; 
GRANT ALL PRIVILEGES ON `discuz`.* TO 'discuz'@'localhost'; 
 
我先按我的理解解释一下上面两句的意思 
建立一个只可以在本地登陆的 不能操作的用用户名 discuz 密码为 ***** 已经加密了的 
然后第二句的意思是 ,给这个discuz用户操作discuz数据库的所有权限 
 
使用GRANT
 
GRANT命令用来建立新用户,指定用户口令并增加用户权限。其格式如下: 
 
mysql> GRANT <privileges> ON <what> 
-> TO <user> [IDENTIFIED BY "<password>"] 
-> [WITH GRANT OPTION]; 
 
 
  正如你看到的,在这个命令中有许多待填的内容。让我们逐一地对它们进行介绍,并最终给出一些例子以让你对它们的协同工作有一个了解。 
 
  <privileges>是一个用逗号分隔的你想要赋予的权限的列表。你可以指定的权限可以分为三种类型: 
 
  数据库/数据表/数据列权限: Alter: 修改已存在的数据表(例如增加/删除列)和索引。 
Create: 建立新的数据库或数据表。 
Delete: 删除表的记录。 
Drop: 删除数据表或数据库。 
INDEX: 建立或删除索引。 
Insert: 增加表的记录。 
Select: 显示/搜索表的记录。 
Update: 修改表中已存在的记录。 


查询某个用户的权限

show grants for 你的用户;
show grants for root@'localhost';
show grants for webgametest@10.3.18.158;
show create database dbname;  这个可以看到创建数据库时用到的一些参数。
show create table tickets;    可以看到创建表时用到的一些参数



查询所有用户:

SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;




下面是导入导出数据库


一、导入导出本地数据库
   导出:

   1、先运行cmd,cd到mysql安装目录中的bin文件夹

   2、mysqldump -u root-p 数据库名 > 导出文件名.sql

 其他情况下:

 1.导出整个数据库
    mysqldump -u用户名 -p 数据库名 > 导出的文件名
    mysqldump -uwcnc -p smgp_apps_wcnc > wcnc.sql
  2.导出一个表
    mysqldump -u用户名 -p 数据库名 表名> 导出的文件名
    mysqldump -uwcnc -p smgp_apps_wcnc users> wcnc_users.sql
  3.导出一个数据库结构
    mysqldump -uwcnc -p -d --add-drop-table smgp_apps_wcnc>d:\wcnc_db.sql
-d 没有数据 --add-drop-table 在每个create语句之前增加一个drop table


  导入:

  1、dos命令下进入sql:先create database 数据库名;

  2、use数据库;

  3、sourcec:\....\文件名.sql,后面不需要加分号

二、远程导入导出数据库(或者表)

  远程导出语法为:
        mysqldump -h[hosname] -u[user_name] -p[password]--default-character-set=[char_set_name] [db_name] >[save_path]
        例:然后输入:mysqldump -h119.12.12.11-umysql-pmysql123--default-character-set=utf8 aspchina--skip-lock-tables>d:\aspchina_net.sql

 也可以:mysqldump-h119.12.12.11 -u mysql>d:\aspchina_net.sql

        119.12.12.11为远程服务器IP,-umysql mysql为数据库用户名,-pmysql123(无空格间隔)mysql123为用户密码,set=utf8为导出MYSQL的编码格式,aspchina为要导出的数据库名,>d:\aspchina_net.sql为导入到你本地的存放路径,aspchina_net.sql你可以自由命名!

远程数据库导入:

        如果MYSQL数据库小于2MB可以用mysqldump管理工具导入,如果大小2MB就不行了,因为空间商提供的PHPMYADMIN管理工具一般只能导入小于2MB的数据,这令一些使用MYSQL数据库的站长郁闷了!
        现在开始教大家怎么使用mysqldump管理工具导入大于2MB的数据.
        1)左下角开始菜单->运行->CMD进入DOS命令行状态
        2)D:\Program Files\MySQL\MySQL Server5.0\bin>为你安装的MYSQL安装目录,\bin为mysqldump管理工具所有在的目录;
        3)然后输入:mysql -h119.12.12.11 -uaspchina -paspchina123456aspchina< d:\aspchina_net.sql
        注释:aspchina_net.sql,如果用户没有创建数据库的权限将不能导入aspchina_net.sql数据库,否则spchina_net.sql只能是多张表不然会出错,这点切记!


删除账户及权限:>drop user 用户名@'%';

        >drop user 用户名@ localhost;


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
16天前
|
关系型数据库 MySQL 数据库
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
|
23天前
|
网络协议 关系型数据库 MySQL
mysql8.0远程连接权限设置
mysql8.0远程连接权限设置
53 0
|
29天前
|
SQL 缓存 PHP
PHP技术探究:优化数据库查询效率的实用方法
本文将深入探讨PHP中优化数据库查询效率的实用方法,包括索引优化、SQL语句优化以及缓存机制的应用。通过合理的优化策略和技巧,可以显著提升系统性能,提高用户体验,是PHP开发者不容忽视的重要议题。
|
1月前
|
SQL 数据库 C#
C# .NET面试系列十一:数据库SQL查询(附建表语句)
#### 第1题 用一条 SQL 语句 查询出每门课都大于80 分的学生姓名 建表语句: ```sql create table tableA ( name varchar(10), kecheng varchar(10), fenshu int(11) ) DEFAULT CHARSET = 'utf8'; ``` 插入数据 ```sql insert into tableA values ('张三', '语文', 81); insert into tableA values ('张三', '数学', 75); insert into tableA values ('李四',
62 2
C# .NET面试系列十一:数据库SQL查询(附建表语句)
|
1月前
|
SQL 存储 JSON
阿里云数据库 SelectDB 内核 Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%
亲爱的社区小伙伴们,Apache Doris 2.1.0 版本已于 2024 年 3 月 8 日正式发布,新版本开箱盲测性能大幅优化,在复杂查询性能方面提升100%,新增Arrow Flight接口加速数据读取千倍,支持半结构化数据类型与分析函数。异步多表物化视图优化查询并助力仓库分层建模。引入自增列、自动分区等存储优化,提升实时写入效率。Workload Group 资源隔离强化及运行时监控功能升级,保障多负载场景下的稳定性。新版本已经上线,欢迎大家下载使用!
阿里云数据库 SelectDB 内核 Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%
|
1月前
|
存储 NoSQL Redis
【Redis】利用Redis List实现数据库分页快速查询
【Redis】利用Redis List实现数据库分页快速查询
83 0
|
2天前
|
SQL 存储 Oracle
关系型数据库查询数据的语句
本文介绍了关系型数据库中的基本SQL查询语句,包括选择所有或特定列、带条件查询、排序、分组、过滤分组、表连接、限制记录数及子查询。SQL还支持窗口函数、存储过程等高级功能,是高效管理数据库的关键。建议深入学习SQL及相应数据库系统文档。
6 2
|
16天前
|
缓存 监控 数据库
优化数据库查询性能的八大技巧
在今天的互联网时代,数据库是许多应用程序的核心组件之一。优化数据库查询性能是提升应用程序整体性能的关键。本文介绍了八种有效的技巧,帮助开发人员提高数据库查询性能,从而提升应用程序的响应速度和用户体验。
|
30天前
|
安全 关系型数据库 应用服务中间件
连接rds设置网络权限
连接阿里云RDS需关注:1) 设置白名单,允许特定IP访问;2) 选择合适网络类型,如VPC或经典网络;3) 确保VPC内路由与安全组规则正确;4) 同VPC内可使用内网地址连接;5) 可启用SSL/TLS加密增强安全性。记得遵循最小权限原则,确保数据库安全。不同服务商操作可能有差异,但基本流程相似。
22 9
|
1月前
|
SQL 存储 关系型数据库
sql数据库查询语句大全
sql数据库查询语句大全