MySQL账户相关

zzcclove

zzcclove

2016-01-29 14:55

MySQL账户相关,MySQL账户相关
 

1.mysql用户创建:

shell mysql --user=root mysql

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/mysql/)

mysql GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/mysql/)

mysql GRANT ALL PRIVILEGES ON *.* TO monty@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/mysql/)

mysql GRANT RELOAD,PROCESS ON *.* TO admin@localhost;

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/mysql/)

mysql GRANT USAGE ON *.* TO dummy@localhost;

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/mysql/)

这些GRANT语句安装3个新用户:

monty

可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令'something'做这个。注意,我们必须对monty@localhost和monty@"%"发出GRANT语句。如果我们增加localhost条目,对localhost的匿名用户条目在我们从本地主机连接接时由mysql_install_db创建的条目将优先考虑,因为它有更特定的Host字段值,所以以user表排列顺序看更早到来。


 

admin

可以从localhost没有一个口令进行连接并且被授予reload和process管理权限的用户。这允许用户执行mysqladmin reload、mysqladmin refresh和mysqladmin flush-*命令,还有mysqladmin processlist。没有授予数据库有关的权限。他们能在以后通过发出另一个GRANT语句授权。


dummy

可以不用一个口令连接的一个用户,但是只能从本地主机。全局权限被设置为'N'--USAGE权限类型允许你无需权限就可设置一个用户。它假定你将在以后授予数据库相关的权限。

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/mysql/)


 

2.通过直接修改授权表设置用户权限,运行这些命令(注意,在结束时FLUSH PRIVILEGES):

shell mysql --user=root mysql


 

mysql INSERT INTO user (Host,User,Password) VALUES('localhost','custom',PASSWORD('stupid'));


mysql INSERT INTO user (Host,User,Password) VALUES('server.domain','custom',PASSWORD('stupid'));


mysql INSERT INTO user (Host,User,Password) VALUES('whitehouse.gov','custom',PASSWORD('stupid'));


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('%','customer','custom','Y','Y','Y','Y','Y','Y');


 

mysql FLUSH PRIVILEGES;

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/mysql/)


 

3.改动密码时有时候会遇到忘记先前的密码,这时可以采用以下方式:

修改你的my.ini 配置文件,

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/mysql/)

在里面的 [mysqld]节中某处加入下面的一行

skip-grant-tables

然后保存,重启 mysqld 服务,这样你可以使用任何用户名以超级管理员的身体登录 MySQL 服务了。

然后转到mysql数据库中修改user表:

update user set password=PASSword('1234') where user='root';

一定记住要用password函数,否则将来将要输入的密码是‘1234’的密文。

最后删除上面所添中的内容,重启服务。

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/mysql/)

另外,如果可以从本机或其它机器上找到可以正常使用的MySql数据库,那么也可拷贝其mysql库中的文件名为user的相关文件,覆盖忘记密码的数据库中的同名文件,这样也能以被拷贝者的账户密码登录。

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/mysql/)

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/mysql/)

4.如何设置MySql账户使其可以从远程访问服务器


在5.0版本中,其实有一个图形界面的配置向导工具,在设置root账户密码时,可以选择是否允许其从远程访问。默认情况下是不允许的。

在命令行下,可以有两种大同小异的方法来作此设置:

(1)mysqlGRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;

mysqlGRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;

第一句增加了一个root用户授权通过本地机(localhost)访问,密码“something”。

第二句则是使用通配符,授与root用户从任何其它主机发起的访问。

 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/mysql/)

(2)亦可直接使用update语句修改user表:使用root用户或其他用户登录mysq

展开更多 50%)
分享

猜你喜欢

MySQL账户相关

MySQL mysql数据库
MySQL账户相关

MySQL数据库账户授权的相关管理解析 (1)

PHP
MySQL数据库账户授权的相关管理解析  (1)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

MySQL数据库账户授权的相关管理解析 (1)(2)

PHP
MySQL数据库账户授权的相关管理解析  (1)(2)

汇总整理MYSQL相关操作命令

编程语言 网络编程
汇总整理MYSQL相关操作命令

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

MySQL 相关的环境变量

编程语言 网络编程
MySQL 相关的环境变量

MySQL教程:相关的环境变量

编程语言 网络编程
MySQL教程:相关的环境变量

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《战魔》组队系统怎么玩 战魔组队系统介绍

《战魔》组队系统怎么玩 战魔组队系统介绍

在win2003下MySQL数据库每天自动备份

在win2003下MySQL数据库每天自动备份
下拉加载更多内容 ↓