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

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

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;

时间: 2024-08-31 21:41:17

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

linux下使用ssh远程执行命令批量导出数据库到本地_linux shell

前天正在跟前端的同事调试功能.服务器开好,模拟的玩家登录好,就在倒计时.这时突然运营的同事跑过来说要统计几个服务器玩家的一些情况,也就是需要从几个服的数据库导出部分玩家的数据.好吧,我看了一下时间,11:47.心想,跟前端调试完,去吃个饭再午休一下那就下午再给吧.没想对方来一句"就导个数据库而已,要这么久么?",而且还是直接跟我上司说的.我嚓,好吧,我导.可问题来了,平时的统计是由php做的,批量部署这些是由运维做的.服务端完全没有对应的工具.而且服务器是在阿里云上的,数据库的用户是限

navicat for mysql 导入导出数据库

问题描述 navicat for mysql 导入导出数据库 我电脑上的Mysql客户端navicat按照百度,导出数据库转储了SQL文件,也成功,但是到别人电脑上的客户端我建立了一个同名数据库名,也运行了SQL文件,就是啥也没有怎么回事? 解决方案 不太明白,建立同名的数据库名是什么意思,导入还是导出 解决方案二: 数据库表没有建立吗?还是没有数据? 解决方案三: 推荐:http://jingyan.baidu.com/article/6d704a13f49b1528da51ca4d.html

Oracle导入导出数据库的语法

    导读:oracle中除了在Oracle编辑器中用图形化的方式导入导出文理文件的数据方式外,还可以采用命令行的方式导入导出数据库,其语法实示例如下:    imp [username[/password[@service]]]    步骤:1.首先在进入 dos, 然后切换到 oracle 数据库物理文件所在的目录即(dmp文件所在的目录).接下来输入下述语句!    imp username/password@service file=psmis.dmp fromuser=psmis t

用c#语言怎么写导入导出数据库程序

问题描述 用c#语言怎么写导入导出数据库程序 解决方案 解决方案二:http://blog.csdn.net/yunhaiC/archive/2008/10/23/3132179.aspx

使用ssh远程执行命令批量导出数据库到本地(转)

  前天正在跟前端的同事调试功能.服务器开好,模拟的玩家登录好,就在倒计时.这时突然运营的同事跑过来说要统计几个服务器玩家的一些情况,也就是需要从几个服的数据库导出部分玩家的数据.好吧,我看了一下时间,11:47.心想,跟前端调试完,去吃个饭再午休一下那就下午再给吧.没想对方来一句"就导个数据库而已,要这么久么?",而且还是直接跟我上司说的.我嚓,好吧,我导.可问题来了,平时的统计是由php做的,批量部署这些是由运维做的.服务端完全没有对应的工具.而且服务器是在阿里云上的,数据库的用户

mysql修改root密码、登录、导入导出等命令小记

1.登录msyql,切换到mysql下bin目录:  mysql -p3306 -u root -p (-hlocalhost)  执行后会提示输入root对应的密码 修改root密码:mysqladmin -u root -p password mypasswd  执行此命令后会提示输入root旧密码 2.show databases       create database student;    (数据库名)   3.use mysql; 4.show tables; 5.select

MySQL导入导出数据库方法介绍

操作方法 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:Program FilesMySQLMySQL Server 4.1bin 2,导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 如我输入的命令行:mysqldump -u root -p news > news.sql    (输入后会让你输入进入MySQL的密码) (如果导出单张表的话在数据库名后面输入表名即可) 3.会看到文件news.sql

mysql 导入导出数据库以及函数、存储过程的介绍

本篇文章是对mysql中的导入导出数据库命令以及函数.存储过程进行了详细的分析介绍,需要的朋友参考下   mysql常用导出数据命令:1.mysql导出整个数据库  mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql   mysqldump -hlocalhost -uroot hqgr> hqgr.sql     (如果root用户没用密码可以不写-p,当然导出的sql文件你可以制定一个路径,未指定

MYSQL命令行导入导出数据库详解_Mysql

Mysql命令行导入数据库: 1,将要导入的.sql文件移至bin文件下,这样的路径比较方便 2,同上面导出的第1步 3,进入MySQL:mysql -u 用户名 -p 如我输入的命令行:mysql -u root -p   (输入同样后会让你输入MySQL的密码) 4,在MySQL-Front中新建你要建的数据库,这时是空数据库,如新建一个名为news的目标数据库 5,输入:mysql>use 目标数据库名 如我输入的命令行:mysql>use news; 6,导入文件:mysql>s