一:整理了以下四种在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之后,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
[root@localhost ~]# service iptables restart
[root@localhost ~]# mysql
mysql> grant all on *.* to root@'%' identified by 'your_password';
mysql> exit [root@localhost ~]# /etc/init.d/mysql restart 搞定。
localhost 代表的是本地的意思 127.0.0.1是代表自己机器的回路地址,无论是否联网,自己机器都是127.0.0.1,127段是保留区段。
localhost与127.0.0.1的关系: |