MySql记载mingxing - 凯时娱乐

MySql记载mingxing

2019-02-13 07:30:03 | 作者: 凌寒 | 标签: 账户,权限,运用 | 浏览: 4738

一:进入Mysql 创立数据库指令
CREATE DATABASE `dbpacketracer` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

 

二:导入sql文件
Mysql指令行设置
在环境变量 path="mysql/bin"

指令行进入mysql -h houstname -u username -p
将数据库导出:
mysqldump -h localhost -u root -p admin e"\mysql\mydb.sql
将数据库的表导出:
mysqldump -h localhost -u root -p admin 表名 e"\mysql\mydb.sql

导入:
mysql -h localhost -u root -p mydb2 e:\mysql\mydb.sql

source指令:
source d:\mydb.sql

 

三:在Mysql中创立用户并授权:
1:CREATE USER user [IDENTIFIED BY [PASSWORD] password]    [, user [IDENTIFIED BY [PASSWORD] password]] ...CREATE USER用于创立新的MySQL账户。要运用CREATE USER,您有必要具有mysql数据库的大局CREATE USER权限,或具有INSERT权限。关于每个账户,CREATE USER会在没有权限的mysql.user表中创立一个新记载。假如 账户现已存在,则呈现过错。

运用自选的IDENTIFIED BY子句,可认为账户给定一个暗码。user值和 暗码的给定办法和GRANT句子相同。特别是,要在纯文本中指定暗码,需疏忽PASSWORD关键词。要把 暗码指定为由PASSWORD()函数回来的混编值,需包括关键字PASSWORD。

2.运用GRANT句子
最好的办法是运用GRANT句子,由于这样更准确,过错少。从MySQL 3.22.11起供给了GRANT;它的主要用途是来给帐户授权的,但也可用来建立新帐户并一起授权。留意:当mysql运转于no_auto_create_user时要供给新建用户的暗码,不然不能立异用户。
下面的示例阐明怎么运用MySQL客户端程序来设置新用户。
首要,运用MySQL程序以MySQL root用户来衔接效劳器:

shell MySQL user=root MySQL

假如你为root账户指定了暗码,还需求为该MySQL指令和本节中的其它指令供给password或-p选项。

以root衔接到效劳器上后,能够增加新账户。下面的句子运用GRANT来设置四个新账户:

mysql GRANT ALL PRIVILEGES ON *.* TO

    -      IDENTIFIED BY some_pass WITH GRANT OPTION;

mysql GRANT ALL PRIVILEGES ON *.* TO

    -      IDENTIFIED BY some_pass WITH GRANT OPTION;

mysql GRANT RELOAD,PROCESS ON *.* TO ;

mysql GRANT USAGE ON *.* TO ;

用GRANT句子创立的账户有下面的特点:

·         其间两个账户有相同的用户名monty和暗码some_pass。两个账户均为超级用户账户,具有彻底的权限能够做任何事情。一个账户 ()只用于从本机衔接时。另一个账户()可用于从其它主机衔接。请留意monty的两个账户有必要能从任何主机以monty衔接。没有localhost账户,当monty从本机衔接时,mysql_install_db创立的localhost的匿名用户账户将占先。结果是,monty将被视为匿名用户。原因是匿名用户账户的Host列值比账户更详细,这样在user表排序次序中排在前面。(user表排序的评论要参阅mysql手册)。

·         一个账户有用户名admin,没有暗码。该账户只用于从本机衔接。颁发了RELOAD和PROCESS办理权限。这些权限答应admin用户履行mysqladmin reload、mysqladmin refresh和mysqladmin flush-xxx指令,以及mysqladmin processlist。未颁发拜访数据库的权限。你能够经过GRANT句子增加此类权限。

·         一个账户有用户名dummy,没有暗码。该账户只用于从本机衔接。未颁发权限。经过GRANT句子中的USAGE权限,你能够创立账户而不颁发任何权限。它能够将一切大局权限设为N。假定你将在今后将详细权限颁发该账户。

3.直接操作MySQL授权表
    除了GRANT,你能够直接用INSERT句子创立相同的账户,然后运用FLUSH PRIVILEGES通知效劳器重载授权表。

shell mysql user=root mysql

mysql INSERT INTO user    -      VALUES(localhost,monty,PASSWORD(some_pass),    -      Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y);mysql INSERT INTO user    -      VALUES(%,monty,PASSWORD(some_pass),    -      Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y);mysql INSERT INTO user SET Host=localhost,User=admin,    -      Reload_priv=Y, Process_priv=Y;mysql INSERT INTO user (Host,User,Password)    -      VALUES(localhost,dummy,);mysql FLUSH PRIVILEGES;当你用INSERT创立账户时运用FLUSH PRIVILEGES的原因是通知效劳器重读授权表。不然,只要重启效劳器后更改方会被留意到。运用 GRANT,则不需求运用FLUSH PRIVILEGES。

用INSERT运用PASSWORD()函数是为了加密暗码。GRANT句子为你加密暗码,因而不需求PASSWORD()。

Y值启用账户权限。关于admin账户,还能够运用愈加可读的INSERT扩大的语法(运用SET)。

在为dummy账户的INSERT句子中,只要user表中的Host、User和Password列记载为指定的值。没有一个权限列为显式设置,因而MySQL将它们均指定为 默认值N。这样等同于GRANT USAGE的操作。

请留意要设置超级用户账户,只需求创立一个权限列设置为Y的user表条目。user表权限为大局权限,因而其它 授权表不再需求条目。

4.举几个运用grant创立帐户和授权的比如

下面的比如创立3个账户,答应它们拜访专用数据库。每个账户的用户名为custom,暗码为obscure。

要想用GRANT创立账户,运用下面的句子:

shell MySQL user=root MySQLshell mysql user=root mysqlmysql GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP    -      ON bankaccount.*    -      TO     -      IDENTIFIED BY obscure;mysql GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP    -      ON expenses.*    -      TO     -      IDENTIFIED BY obscure;mysql GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP    -      ON customer.*    -      TO     -      IDENTIFIED BY obscure;这3个账户能够用于:

·         第1个账户能够拜访bankaccount数据库,但只能从本机拜访。

·         第2个账户能够拜访expenses数据库,但只能从主机whitehouse.gov拜访。

·         第3个账户能够拜访customer数据库,但只能从主机server.domain拜访。

要想不必GRANT设置custom账户,运用INSERT句子直接修正 授权表:

shell mysql user=root mysqlmysql INSERT INTO user (Host,User,Password)    -      VALUES(localhost,custom,PASSWORD(obscure));mysql INSERT INTO user (Host,User,Password)    -      VALUES(whitehouse.gov,custom,PASSWORD(obscure));mysql INSERT INTO user (Host,User,Password)    -      VALUES(server.domain,custom,PASSWORD(obscure));mysql INSERT INTO db    -      (Host,Db,User,Select_priv,Insert_priv,    -      Update_priv,Delete_priv,Create_priv,Drop_priv)    -      VALUES(localhost,bankaccount,custom,    -      Y,Y,Y,Y,Y,Y);mysql INSERT INTO db    -      (Host,Db,User,Select_priv,Insert_priv,    -      Update_priv,Delete_priv,Create_priv,Drop_priv)    -      VALUES(whitehouse.gov,expenses,custom,    -      Y,Y,Y,Y,Y,Y);mysql INSERT INTO db    -      (Host,Db,User,Select_priv,Insert_priv,    -      Update_priv,Delete_priv,Create_priv,Drop_priv)    -      VALUES(server.domain,customer,custom,    -      Y,Y,Y,Y,Y,Y);mysql FLUSH PRIVILEGES; 前3个INSERT句子在user表中参加条目,答运用户custom从各种主机用给定的暗码进行衔接,但不颁发大局权限(一切权限设置为 默认值N)。后边3个INSERT句子在user表中参加条目,为custom颁发bankaccount、expenses和customer数据库权限,但只能从适宜的主机拜访。一般若直接修正 授权表,则应通知效劳器用FLUSH PRIVILEGES重载授权表,使权限更改收效。

假如你想要让某个用户从给定域的一切机器拜访(例如,mydomain.com),你能够在账户名的主机部分运用含%通配符的GRANT句子:

mysql GRANT ...    -      ON *.*    -      TO     -      IDENTIFIED BY mypass;要想经过直接修正授权表来完成:

mysql INSERT INTO user (Host,User,Password,...)    -      VALUES(%.mydomain.com,myname,PASSWORD(mypass),...);mysql FLUSH PRIVILEGES;

5.创立账户的其它办法是运用MySQL账户办理功用的第三方程序。phpMyAdmin便是一个程序。

从MySQL删去用户账户
要想移除账户,应运用DROP USER句子。

 

五:修正mysql数据库中用户的暗码:
update user set password=password("新的暗码") where user="用户名"
更新完一定要:FLUSH PRIVILEGES;  不然更新不成功。

 

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯时娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章