`
ypf3027
  • 浏览: 304353 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

修改MySQL数据库中root用户的密码及访问权限

 
阅读更多

一:整理了以下四种在MySQL中修改root密码的方法,可能对大家有所帮助!

方法1: 用SET PASSWORD命令

  mysql -u root

  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

方法2:用mysqladmin

  mysqladmin -u root password "newpass"

  如果root已经设置过密码,采用如下方法

  mysqladmin -u root password oldpass "newpass"

方法3: 用UPDATE直接编辑user表

  mysql -u root

  mysql> use mysql;

  mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

  mysql> FLUSH PRIVILEGES;

在丢失root密码的时候,可以这样

  mysqld_safe --skip-grant-tables&

  mysql -u root mysql

  mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

  mysql> FLUSH PRIVILEGES;

 

二:MySQL服务访问权限

mysql默认只能从本地连接,查看了/etc/mysql/my.cnf找到bind-address才发现配置的是127.0.0.1(bind-address=127.0.0.1),直接改为bind-address=192.168.0.xxx(本机ip),然后再查看3306端口打开了,ok,可以正常连接了。

所以除了给账户权限以外 还有修改 /etc/mysql/my.cnf 找到 bind-address = 127.0.0.1 修改为

bind-address = 0.0.0.0 
       重启mysql : 
       sudo /etc/init.d/mysql restart
       否则会报 ERROR 2003 (HY000): Can't connect to MySQL server on 'x.x.x.x' (111)

环境:RHEL 5.3

安装了MySQL之后,MySQL的root用户默认是不开放远程访问权限的。为了开放它,只需要两步:

用Linux系统的root用户登录系统,然后:

(1)开放3306端口的远程连接权限:

在“-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited”这一行的上面(注意,一定是上面),添加如下一行:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT


然后重启iptables:

[root@localhost ~]# service iptables restart


(2)为MySQL的root用户添加远程访问权限:

[root@localhost ~]# mysql

mysql> grant all on *.* to root@'%' identified by 'your_password';                
Query OK, 0 rows affected (0.01 sec)

mysql> exit
Bye

[root@localhost ~]# /etc/init.d/mysql restart

 搞定。


localhost是什么?localhost与127.0.0.1之间的关系

localhost 代表的是本地的意思 
一般来说 代表IP地址的话就是127.0.0.1 
也就是说 我 ping 127.0.0.1 == ping localhost

127.0.0.1是代表自己机器的回路地址,无论是否联网,自己机器都是127.0.0.1,127段是保留区段。

localhost与127.0.0.1的关系:
localhost可以看成主机名,127--可以看成主机ip,中间曾在一个主机名到ip地址的映射! 
如果你在mysql中连接数据库,要用localhost而不能用127.0.0.1。因为mysql中对于用户的登陆位置是有限定的,具体见mysql数据库(database名字就是mysql)里面的user表,里面存放的ip和存放的域名是不一样的,mysql进行匹配时不会自动将ip转换成域名的。你授权一个用户从这个ip访问,不等于授权他从这个余名访问。 
1、mysql -h 127.0.0.1 的时候,使用TCP/IP连接, 
      mysql server 认为该连接来自于127.0.0.1或者是"localhost.localdomain" 。
2、mysql -h localhost 的时候,是不使用TCP/IP连接的,而使用Unix socket; 
     此时,mysql server则认为该client是来自"localhost" 。

 

 

分享到:
评论

相关推荐

    Ubuntu18.0.4安装MySQL并设置ROOT用户密码

    Ubuntu18.0.4安装MySQL,修改ROOT用户密码并允许远程访问,添加用户并配置数据库的访问权限

    mysql 的root 用户无法授权及解决navicat 远程授权提示1044问题

    3,执行以下操作(查询用户的赋权权限,更改赋权权限 ,刷新生效) mysql> select user,host,grant_priv from user; +---------------+-----------+------------+ | user | host | grant_priv | +---------------+--...

    php连接mysql数据库最简单的实现方法

    在连接MySQL数据库之前,您必须指定以下信息: MySQL数据源名称或DSN:指定MySQL数据库服务器的地址。您可以使用IP地址或服务器名称,例如,127.0.0.1 或 localhost MySQL数据库名称:表示要连接的数据库的名称。 ...

    MySql8.0以上版本正确修改ROOT密码的方法

    部署环境: 安装版本red hat Cent 7.0 MYSQL 版本 8.0.2.0 成功部署完毕后出现故障情况: ...后进去刷新权限表,重启服务,不用密码的root进去,在改root密码后,重新刷新权限表。方法试了很多个都不

    MySQL数据库管理常用命令

    修改root用户的密码mysqladmin -uroot -p password 'password'。 数据库,表管理进入mysqlmysql -h hostname -uroot -p。 创建数据库mysql> create database location。 导入数据结构mysql -uroot -p location 。 ...

    MySQL恢复root用户超级权限方法.docx

    密码不记得,当用户只能查看,而其他权限都没有的时候,mysql超级用户权限解决思路,还有密码重置也可以,MySQL恢复root用户超级权限方法

    Linux系统中MySQL数据库操作命令.docx

    让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机), 这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,...

    MySQL 5.7及8.0版本数据库的root密码遗忘的解决方法

    注:MySQL5.7破解root密码,跳过密码认证登录到数据库,直接修改表中的密码即可,但是MySQL 8.0则不可以这样修改root密码,需要跳过密码认证登录到数据库后,先将root密码设置为空,然后才可以登录到数据库,修改...

    Mysql5.7忘记root密码怎么办(简单且有效方法)

    在上篇文章给大家介绍了Mysql5.7忘记root密码及mysql5.7修改root密码的方法 Mysql5.7忘记密码快速且简单的解决方法,具体方法详情如下所示: # 最简单最粗暴的方法 找到mysql的配置文件直接编辑 vim /etc/my.cnf #...

    Mysql用户密码

    Mysql用户密码设置修改和权限分配.

    MySQL创建数据库与创建用户以及授权

    --取消用户所有数据库(表)的所有权限 6、delete from mysql.user where user='tester';--删除用户 7、drop database [schema名称|数据库名称];--删除数据库 MySQL创建数据库与创建用户以及授权相关SQL语句,...

    数据库连接工具SQLyon及破解密码

    另外如果链接数据库报1251错误是数据库权限问题,请执行以下命令:cmd登录mysql后---》 第二个命令中password是新设置的自己的数据库密码,其它命令直接复制 ALTER USER 'root'@'localhost' IDENTIFIED BY '...

    MySQL数据库系统.docx

    启动服务 [root@localhost]# service mysql start 访问MySQL数据库 登录MySQL服务器 默认管理员为root,密码为空: mysql –u root #"-u"选项用于指定认证用户 设置MySQL数据库用户密码: mysqladmin –u 用户名 ...

    设置mysql远程连接

    6、 授权给root用户可以从任何主机使用密码为’hkgt123’登录MYSQL数据库: GRANT ALL PRIVILEGES ON *.* TO root@’%’ IDENTIFIED BY ‘hkgt123’ WITH GRANT OPTION; 7、 提交:commit; 8、 刷新权限:flush ...

    MySQL的root密码忘记怎么办 修改root密码的方式

    如果哪天你忘记了线上MySQL数据库的root密码,怎么办? 大家往往会想到skip-grant-tables参数,具体步骤如下: 1. 关闭MySQL数据库,因为root密码忘记了,mysqladmin无法使用,此时,只能通过kill pid关闭程序。 在...

    MySQL用户管理和用户授权详解.pdf

    •6.3 删除配置文件中跳过授权表设置, 重启服务,使用root 用户登录数据库[10] •二:mysql 授权管理[11] •1 授予权限[12] •1.1 普通授权[13] •1.2 让被授权的用户可以将权限授予他人[14] •2 查看用户权限...

    NJU程设实验项目二:简易MySQL数据库.rar

    2.掌握在mysql数据库中插入数据及查询数据; 3.掌握phpMyAdmin对mysql数据库进行管理和操作的方法。 二、实验环境 硬件为个人微机,软件为操作系统Windows 7 三、实验要求 1. 遵守实验室纪律,在规定的时间内...

    Mysql5.6忘记root密码修改root密码的方法

    mysql5.6忘记数据库的root密码: [root@oraserver139 ~]# mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO) 查看当前安装的mysql版本: ...

    Linux系统Mysql数据库详细安装教程!.pdf

    登录mysql数据库 mysql -u root -p 注意 第⼀次使⽤数据库登录的时候不⽤输⼊密码,因为还没有设置密码,直接回车进⼊数据库后再去修改密码. 出现如上图所⽰,有mysql的提⽰ 命令表⽰已经登录成功数据库. 10使⽤...

    MySql数据库迁移.docx

    MySql数据库迁移全文共3页,当前为第1页。MySql数据库迁移全文共3页,当前为第1页。前面分享十一主要谈到oracle数据库迁移,本分享十二集中谈谈mysql迁移解决方案。 MySql数据库迁移全文共3页,当前为第1页。 MySql...

Global site tag (gtag.js) - Google Analytics