zoukankan      html  css  js  c++  java
  • centos7中搭建mysql5.7数据库

    yum方式安装的mysql(如果以前没有装过可略过这里

     

      1、yum remove mysql mysql-server mysql-libs compat-mysql51

      2、rm -rf /var/lib/mysql

      3、rm /etc/my.cnf

      查看是否还有mysql软件:
      rpm -qa|grep mysql

      如果存在的话,继续删除即可。

      rpm方式安装的mysql

     

      a)查看系统中是否以rpm包安装的mysql:

      [root@localhost opt]# rpm -qa | grep -i mysql
      MySQL-server-5.6.17-1.el6.i686
      MySQL-client-5.6.17-1.el6.i686

      b)卸载mysql

      [root@localhost local]# rpm -e MySQL-server-5.6.17-1.el6.i686
      [root@localhost local]# rpm -e MySQL-client-5.6.17-1.el6.i686

      c)删除mysql服务

      [root@localhost local]# chkconfig --list | grep -i mysql
      [root@localhost local]# chkconfig --del mysql

      d)删除分散mysql文件夹

      [root@localhost local]# whereis mysql 或者 find / -name mysql

     

      mysql: /usr/lib/mysql /usr/share/mysql

      清空相关mysql的所有目录以及文件
      rm -rf /usr/lib/mysql
      rm -rf /usr/share/mysql

      rm -rf /usr/my.cnf

     

      通过以上几步,mysql应该已经完全卸载干净了

     

      确定卸载干净后开始安装:

      1、下载源码包,一般将源码包放在/usr/local/中;

        cd /usr/local/

      2、安装mysql,以下是安装命令

      wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

      (这里的版本可以随时去mysql官网进行选择)

      #rpm -ivh mysql-community-release-el7-5.noarch.rpm

      # yum install mysql-community-server

      系统会自动安装。最后会提示成功安装。

      3、安装完之后重启一下mysql服务:

      # service mysqld restart

      4、登录mysql:

      #mysql  -u root

            5、这时会报错:

      ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

      原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

        sudo chown -R openscanner:openscanner /var/lib/mysql

     

      6, 重置密码:

      mysql -u root;

      报错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:

      sudo chown -R openscanner:openscanner /var/lib/mysql

      重启服务:

       service mysqld restart

      再次登录:

      mysql -u root

      报错:

         

      此种情况是因为存在了默认密码问题,解决:(最保险的是重置root密码)

      1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1

      这一行配置让 mysqld 启动时不对密码进行验证

      2、重启 mysqld 服务:systemctl restart mysqld

      3、使用 root 用户登录到 mysql:mysql -u root 

      4、切换到mysql数据库,更新 user 表:

      update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = now() where user = 'root';

      在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string

      5、退出 mysql,编辑 /etc/my.cnf 文件,删除 skip-grant-tables=1 的内容

      6、 重启 mysqld 服务,再用新密码登录即可

     

      7.开放防火墙:

      vim /etc/sysconfig/iptables

    添加以下内容:

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

    保存后重启防火墙:

    $ sudo service iptables restart

    这样从其它客户机也可以连接上mysql服务了。

    8.阿里云安全组设置:

    如果此时在其他客户机上还是链接不上mysql,登录阿里云,查看实例的安全组有没有为3306端口开启规则;

     

     

  • 相关阅读:
    WordPress伪静态配置
    微信支付后默认关注公众号
    微信公众号中点击A标签嵌套的img
    全站变灰
    人人商城团队初始化
    Map-T
    处理Hbuilder H5页面打包APP 返回直接退出的问题
    ES6:搭建前端环境
    ES6:简介
    jQuery: 案例
  • 原文地址:https://www.cnblogs.com/daimo/p/7522357.html
Copyright © 2011-2022 走看看