Bug描述

前日周末,在家里学点新技巧,就算公司分配的天职没有形成(滑稽滑稽)

 

本人先成立了三个mysql数据库,用root用户创造二个新用户,终究项目中运用root是卓殊惊险的,尤其是自作者那样的实习生(再一次滑稽)。然后快乐的给它赋予了权力,切换用户

不过,非常慢活的事情爆发了:

ERROR 1045 (28000): Access denied for user ‘xxx’@’localhost’ (using
password: YES)

  密码错了? 

    算了,再敲一遍

      fuck,照旧错了

        或然设密码的时候手抖了

          那本人就重设下密码吗

            update user set
password=password(‘密码’) where user=’用户名’ ; 

              然后,看到 0
行被更新???

  然后怀着疑虑人生的姿态搜了很久,前一页的博客都以一模一样的,唉~

  一通乱操作之后照旧没有x用,都以说改密码,还有扯php的。。。

前日周末,在家里学点新技巧,就算公司分红的天职没有大功告成(滑稽滑稽)

MySQL的平安机制:

① 、  mysql安装(此处实例mysql版本为5.6版本)

# 化解进程

  后来无意中跻身stackoverflower,然后一看提问,发现境遇的情形和本身一模一样:

 

1.MySQL登录

  a) 下载mysql的repo源

## 提问

金沙注册送58 1

  笔者先创设了3个mysql数据库

mysql -u账户 -p密码 -h127.0.0.1 -P端口 数据库名

    $ wget

## 回答

金沙注册送58 2

 

忽视正是你有3个用户名为空的账户,mysql会先匹配它,然后就向来提示您密码错误,删掉那几个匿名用户,然后实施
FLUSH P索罗德IVILEGES;

 

Delete FROM user Where User='' and Host='localhost';

flush privileges;

 

  然后用root用户创立二个新用户,终归项目中选择root是相当惊险的,特别是自身如此的实习生(再一次滑稽)

mysql -h hostname|hostIP -p port -u username -p password databaseName -e
“SQL语句”;

  b) 安装mysql-community-release-el7-5.noarch.rpm包

# 总结        

 

    然后就能够心情舒畅的登陆成功,开始光荣的增删改查之旅了

 

    金沙注册送58 3

 

  

  再然后欢喜的给它赋予了权力,然后切换用户

退出:

    $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm

  再再然后,不乐意的思想政治工作作时间有发生了:

exit\quit;

    安装那些包后,会收获三个mysql的yum
repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。

此间安装示例为mysql5,MySQL的哈密机制。    ERROR 1045 (28000): Access denied for user ‘xxx’@’localhost’
(using password: YES)

2.MySQL账户管理

  c) 安装mysql

  密码错了? 

开创用户:

    $ sudo yum install mysql-server

    算了,再敲一回

create user ‘username’@’hostname’ identified by ‘password’;

    依照提示安装就足以了,然则安装到位后不曾密码,须要重置密码

      fuck,仍旧错了

grant 权限(增加和删除改查) on database_name to
‘username’@’hostname(一般是localhost)’ identified by “密码”;

  d)  重置mysql密码

        只怕设密码的时候手抖了

修改密码(当前报到用户的密码):

    $ mysql -u root

          那小编就重设下密码吗

(1).不登陆的时候改变密码

    登录时有恐怕报那样的错:E奇骏RO奥迪Q5 二零零一 (HY000): Can‘t connect to
local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘
(2),原因是/var/lib/mysql的拜访权限难点。下边包车型大巴一声令下把/var/lib/mysql的拥有者改为当下用户:

            update user set
password=password(‘密码’) where user=’用户名’ ; 

mysqladmin -uroot -p旧密码 password 新密码(最终不要加分号)

  e)  $ sudo chown -R root:root /var/lib/mysql

              然后,看到 0
行被更新???

(2).登陆数据库后,对点名应用实行密码修改

    重启mysql服务

  然后怀着疑虑人生的姿态搜了很久,前一页的博客都以一模一样的,唉~

方法一: use mysql;

    $ service mysqld restart

  一通乱操作之后照旧没有x用,都是说改密码,还有扯php的。。。

update user set password=PASSWO途睿欧D(‘新密码’) where user =
‘root’;(修改达成以往要重启mysql服务(net start|stop mysql));

  f)  接下去登录重置密码:

  

flush privileges;// 刷新权限

          $ mysql -u root  //直接回车进入mysql控制台

 

方法二: set password = password(‘new password’);

          mysql > use mysql;

  后来无形中中进入stackoverflower,然后一看提问,发现碰到的图景和我一模一样:

flush privileges;

          mysql >set password=password(‘123456′) where
user=’root’;可能改变 update user set password=password(‘123456′) where
user=’root’;

金沙注册送58 4

方法三. set password for ‘username’@’hostname’=password(“new
password”);(一级用户(root)下)

             mysql > exit;

  下一场回答是:

情势四(在忘记root密码,登陆不进入的景观下)

 

 

先甘休服务

修改mysql数据库密码的4种艺术

  金沙注册送58 5

net stop mysql

方法1: 用SET PASSWORD命令
首首先登场录MySQL。
格式:mysql> set password for 用户名@localhost =
password(‘新密码’);
例子:mysql> set password for root@localhost = password(‘123’);

    忽视就是您有两个用户名为空的账户,mysql会先匹配它,然后就径直提醒您密码错误,删掉那个匿名用户,然后实施
FLUSH P奥迪Q7IVILEGES;

mysqld –defaults-file=”你电脑的mysql的ini文件的路线” –console
–skip-grant-tables

方法2:用mysqladmin
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p123456 password 123

        

假诺不知晓路径,能够在劳动中找到Mysql,右击属性,属性中有个可执行文件能够找见。

措施3:用UPDATE直接编辑user表
率首先登场录MySQL。
mysql> use mysql;
mysql> update user set password=password(‘123′) where user=’root’ and
host=’localhost’;
mysql> flush privileges;

 

ps: 那命令能够跳过权力安检

艺术4:在忘记root密码的时候,能够如此
以windows为例:

    就足以安心乐意的登陆成功,初始光荣的增加和删除改查之旅了

接下来再打开第3个黑窗口

  1. 关闭正在运作的MySQL服务。
  2. 打开DOS窗口,转到mysql\bin目录。
  3. 输入mysqld –skip-grant-tables 回车。–skip-grant-tables
    的意趣是开行MySQL服务的时候跳过权限表认证。
    4.
    再开1个DOS窗口(因为刚刚极度DOS窗口已经不能够动了),转到mysql\bin目录。
  4. 输入mysql回车,若是成功,将面世MySQL提醒符 >。
  5. 连天权限数据库: use mysql; 。
  6. 改密码:update user set password=password(“123″) where
    user=”root”;(别忘了最后加分号) 。
  7. 刷新权限(必须步骤):flush privileges; 。
  8. 退出 quit。
  9. 打消系统,再进来,使用用户名root和刚刚设置的新密码123记名。 

 

直白登陆:mysql -uroot -p

 

    金沙注册送58 6

提示enter password –直接回车连接成功

mysql用户操作

 

主意五:还是能透过创立账户的语句来修改密码:

① 、创制用户

  

grant 权限(增加和删除改查) on database_name to
‘username’@’hostname(一般是localhost)’ identified by “密码”;

命令:CREATE USER ‘username’@’host’ IDENTIFIED BY ‘password’; 

 

备注:username – 你将开创的用户名, host –
钦赐该用户在哪个主机上得以登陆,假如是本地用户可用localhost,
倘若想让该用户能够从随机远程主机登陆,能够选择通配符%. password –
该用户的登陆密码,密码能够为空,若是为空则该用户能够不需求密码登陆服务器.

删去用户:

二、授权

drop user ‘username’@’hostname’;

命令:GRANT privileges ON databasename.tablename TO ‘username’@’host’

3.MySQL权力管理

备考: privileges – 用户的操作权限,如SELECT , INSEEvoqueT , UPDATE
等(详细列表见该文最前边).假设要授予所的权位则使用ALL.;databasename –
数据库名,tablename-表名,若是要予以该用户对全体数据库和表的对应操作权限则可用*表示,
如*. *    username代表你创建的用户名 host代表哪个主机

在开立用户时赋给用户的权限.

叁 、设置与转移用户密码

金沙注册送58, 

命令:SET PASSWOLX570D FO兰德酷路泽 ‘username’@’host’ =
PASSWORAV4D(‘newpassword’);借使是现阶段登陆用户用SET PASSWO奥迪Q5D =
PASSWOSportageD(“newpassword”);

例子: SET PASSWORD FOR ‘test’@’%’ = PASSWORD(“123456”); 

四.撤销用户权限
命令: REVOKE privilege ON databasename.tablename FROM
‘username’@’host’;

注明: privilege, databasename, tablename – 同授权部分.

例子: REVOKE SELECT ON *.* FROM ‘pig’@’%’;

留意: 要是你在给用户’pig’@’%’授权的时候是这么的(或近乎的):GRANT SELECT
ON test.user TO ‘pig’@’%’, 则在接纳REVOKE SELECT ON *.* FROM
‘pig’@’%’;命令并不能废除该用户对test数据库中user表的SELECT
操作.相反,假诺授权行使的是GRANT SELECT ON *.* TO ‘pig’@’%’;则REVOKE
SELECT ON test.user FROM
‘pig’@’%’;命令也不可能收回该用户对test数据库中user表的Select 权限. 

五.去除用户
命令: DROP USER ‘username’@’host’; 

ALTER Allows use of ALTER TABLE.
ALTER ROUTINE Alters or drops stored routines.
CREATE Allows use of CREATE TABLE.
CREATE ROUTINE Creates stored routines.
CREATE TEMPORARY TABLE Allows use of CREATE TEMPORARY TABLE.
CREATE USER Allows use of CREATE USER, DROP USER, RENAME USER, and REVOKE ALL PRIVILEGES.
CREATE VIEW Allows use of CREATE VIEW.
DELETE Allows use of DELETE.
DROP Allows use of DROP TABLE.
EXECUTE Allows the user to run stored routines.
FILE Allows use of SELECTINTO OUTFILE and LOAD DATA INFILE.
INDEX Allows use of CREATE INDEX and DROP INDEX.
INSERT Allows use of INSERT.
LOCK TABLES Allows use of LOCK TABLES on tables for which the user also has SELECT privileges.
PROCESS Allows use of SHOW FULL PROCESSLIST.
RELOAD Allows use of FLUSH.
REPLICATION Allows the user to ask where slave or master
CLIENT servers are.
REPLICATION SLAVE Needed for replication slaves.
SELECT Allows use of SELECT.
SHOW DATABASES Allows use of SHOW DATABASES.
SHOW VIEW Allows use of SHOW CREATE VIEW.
SHUTDOWN Allows use of mysqladmin shutdown.
SUPER Allows use of CHANGE MASTER, KILL, PURGE MASTER LOGS, and SET GLOBAL SQL statements. Allows mysqladmin debug command. Allows one extra connection to be made if maximum connections are reached.
UPDATE Allows use of UPDATE.
USAGE Allows connection without any specific privileges.

相关文章

网站地图xml地图