zoukankan      html  css  js  c++  java
  • 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文件配置如下:

    Iptables配置文件代码
    1. [root@localhost ~]# cat /etc/sysconfig/iptables   
    2. # Firewall configuration written by system-config-firewall   
    3. # Manual customization of this file is not recommended.   
    4. *filter   
    5. :INPUT ACCEPT [0:0]   
    6. :FORWARD ACCEPT [0:0]   
    7. :OUTPUT ACCEPT [0:0]   
    8. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT   
    9. -A INPUT -p icmp -j ACCEPT   
    10. -A INPUT -i lo -j ACCEPT   
    11. -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT   
    12. -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT   
    13. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT   
    14. -A INPUT -j REJECT --reject-with icmp-host-prohibited   
    15. -A FORWARD -j REJECT --reject-with icmp-host-prohibited   
    16. COMMIT  
     

    然后  /etc/init.d/iptables restart 重启iptables服务

            /etc/init.d/iptables status  查看iptables规则

    Iptables规则代码
    1. [root@localhost ~]# /etc/init.d/iptables status   
    2. 表格:filter   
    3. Chain INPUT (policy ACCEPT)   
    4. num  target     prot opt source               destination   
    5. 1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED   
    6. 2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0  
    7. 3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0  
    8. 4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22  
    9. 5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80  
    10. 6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:3306  
    11. 7    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited   
    12.   
    13. Chain FORWARD (policy ACCEPT)   
    14. num  target     prot opt source               destination   
    15. 1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited   
    16.   
    17. Chain OUTPUT (policy ACCEPT)   
    18. 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 mysql
    mysqld          0:关闭  1:关闭  2:关闭  3:启用  4:关闭  5:关闭  6:关闭
    现在的状态是在 3状态时mysql随系统一起启动!


    特别说明:Linux系统不同于windows,Linux是有运行级别只说的,Linux共有7个运行级别,如下:
      0:关机。
      1:单用户字符界面。
      2:不具备网络文件系统(NFS)功能的多用户字符界面。
      3:具有网络功能的多用户字符界面。
      4: 保留不用。
      5:具有网络功能的图形用户界面。
      6:重新启动系统。
    所以上面提到的数字 3 即linux运行在级别3 具有网络功能的多用户字符界面 级别 此时mysql跟随系统一起启动

  • 相关阅读:
    SQL里的EXISTS与in、not exists与not in
    N秒后自动跳转
    Array类型的扩展
    css中block与inline的区别
    数据绑定表达式语法(Eval,Bind区别)
    case
    SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的比较 (转载)
    内容随鼠标漂移
    IIS下下伪静态html(URL Rewrite)设置方法
    sql查询含有某列名的所有表
  • 原文地址:https://www.cnblogs.com/jpfss/p/7422135.html
Copyright © 2011-2022 走看看