centos下mysql密码修改与远程连接

之前的服务器,好久没上去过了,今天上去,密码居然又忘了...

要修改mysql的登陆密码,首先要设置

#vim /etc/my.cnf

在[mysqld] 下面加上一句

skip-grant-tables

然后重启mysql服务

#service mysqld restart

重启之后登陆mysql

mysql -uroot -p  
//让输入密码直接回车就可以了
mysql> use mysql;
mysql>update user set password=password('要设置的新密码') where user='root';
//语句可能会更新多条
mysql>flush privileges;
mysql>quit;

退出之后,把刚才my.cnf里面加的那条注释起来或删除;

然后重启mysql服务;


远程连接:

//首先进入mysql客户端
#mysql -uroot -proot
mysql>grant all privileges on *.* to 'root'@'%' identified by '你的密码' with grant option;
mysql>flush privileges;
mysql>quit;

上面授权语句中root代表用户名,%代表任意主机

授权了还要把自已主机的端口号开放:3306

//开放3306端口
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
//禁止3306端口
//iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

//查看端口是否开启
service iptables status
//上面在重启后就会失效,保存用下面命令
service iptables save 
 //上面保存也可以用这条  /etc/init.d/iptables save
//或者编辑文件 vi /etc/sysconfig/iptables 
//在文件里加入 -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
...
原文地址:https://www.cnblogs.com/javage/p/9259282.html