CentOS自带mysql配置(密码更改、端口开放访问、添加进系统启动项)
前些天虚拟机安装好了CentOS6.1,但是自己想远程连接自带的mysql发现不知道如何改密码,于是谷歌一下,把结果记录下来,方便后期自己使用:
? ? ? ?方法一:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
?
第一种方法本人亲测 好使!
?
方法二:
直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:
# mysql -udebian-sys-maint -p
Enter password: <输入[client]节的密码>
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;
mysql> quit
# mysql -uroot -p
Enter password: <输入新设的密码newpassword>
mysql>
?
方法三:
# mysql -uroot -p
Enter password: <输入/etc/mysql/debian.cnf文件中[client]节提供的密码>
?
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
?
端口开放访问
?
更改完密码,我就打算在windows机器下连接虚拟机中安装的mysql,发现连接不上,在linux上查看了mysql服务都启动了,3306端口也是开放的,后来在windows机器上telnet3306端口发现telnet不上,于是才想起来,安装的时候防火墙是开启的,于是就再iptables规则中增加如下两行:
?
? ?-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允许80端口通过防火墙)
? ?-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT(允许3306端口通过防火墙)
?
位置不要加错了,放在-A INPUT -j REJECT --reject-with icmp-host-prohibited和-A FORWARD -j REJECT --reject-with icmp-host-prohibited前面
我的/etc/sysconfig/iptables文件配置如下:
?
[root@localhost ~]# cat /etc/sysconfig/iptables# Firewall configuration written by system-config-firewall# Manual customization of this file is not recommended.*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT-A INPUT -j REJECT --reject-with icmp-host-prohibited-A FORWARD -j REJECT --reject-with icmp-host-prohibitedCOMMIT?
?
然后 ?/etc/init.d/iptables restart?重启iptables服务
? ? ? ? /etc/init.d/iptables status ?查看iptables规则
?
?
[root@localhost ~]# /etc/init.d/iptables status表格:filterChain INPUT (policy ACCEPT)num target prot opt source destination1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/03 ACCEPT all -- 0.0.0.0/0 0.0.0.0/04 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:225 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:806 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:33067 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibitedChain FORWARD (policy ACCEPT)num target prot opt source destination1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibitedChain OUTPUT (policy ACCEPT)num target prot opt source destination?
?
如果后面要安装tomcat的话,不换端口的话 还是在/etc/sysconfig/iptables文件中增加一行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
?
然后,在windows机器上telnet虚拟机ip的3306端口,发现现在可以到达了
?
?
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
?
添加进系统启动项
?
#chkconfig --list|grep mysql 查看列表中是否有mysql服务项
有的话是这样的:
?
[root@localhost ~]# chkconfig --list|grep mysql
mysqld ? ? ? ? ?0:关闭 ?1:关闭 ?2:关闭 ?3:关闭 ?4:关闭 ?5:关闭 ?6:关闭
现在全部都是关闭,及在任意状态下都不随系统启动,现在用chkconfig --level 3 mysqld on 更改启动状态[root@localhost ~]# chkconfig --list|grep mysqlmysqld ? ? ? ? ?0:关闭 ?1:关闭 ?2:关闭 ?3:启用 ?4:关闭 ?5:关闭 ?6:关闭现在的状态是在 3状态时mysql随系统一起启动!?
?
?