centos7中搭建mysql5.7数据库

时间:2023-01-28 20:19:27

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@localhostlocal]# 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@localhostlocal]# chkconfig --list | grep -i mysql
  [root@localhost local]# chkconfig --del mysql

  d)删除分散mysql文件夹

  [root@localhostlocal]# 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 -ivhmysql-community-release-el7-5.noarch.rpm

  # yuminstall mysql-community-server

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

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

  # service mysqld restart

  4、登录mysql:

  #mysql -u root

        5、这时会报错:

  ERROR 2002 (HY000): Can't connect tolocal 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‘tconnect 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

  重启服务:

   servicemysqld restart

  再次登录:

  mysql-u root

  报错:

     centos7中搭建mysql5.7数据库

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

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

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

  2、重启 mysqld 服务:systemctlrestart mysqld

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

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

  update user set authentication_string =password('root'), password_expired = 'N', password_last_changed = now() whereuser = '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端口开启规则;