Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 数据库 > Mysql > 正文

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

时间:2016-06-26 12:11 来源:网络整理 作者:linux操作系统 阅读:

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

时间:2014-10-18 14:54来源:乘长风破万里浪 作者:乘长风破万里浪 举报 点击:次

一:整理了以下四种在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用户登录系统, 【linux系统下载】 ,然后:

(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连接的, 【linux命令大全】 ,而使用Unix socket; 
     此时,mysql server则认为该client是来自"localhost" 。

------分隔线----------------------------

  • 上一篇:centos7 install 安装mysql
  • 下一篇:CentOS6.5 Minimal源码安装 MySQL 5.6.11
  • 【51运维网】

    感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《修改MySQL数据库中root用户的密码及访问权限》技术文章,《修改MySQL数据库中root用户的密码及访问权限》详细使用和说明,有时《修改MySQL数据库中root用户的密码及访问权限》可能不完善、敬请谅解!如果《修改MySQL数据库中root用户的密码及访问权限》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    验证码:点击我更换图片