centos6.8安装mysql5.7及用navicat远程连接

 

一、忘记mysql的root密码,重置失败,重新安装mysql

以前安装了mysql,不经意把root密码忘了,就按照网上操作即更改my.cnf配置文件

0、MySQL 版本查看

mysql --version

Linux下MySQL忘记root密码的完美解决方法

1、用命令编辑/etc/my.cnf配置文件,即:vim /etc/my.cnf 或者 vi /etc/my.cnf 或者 nano /etc/my.cnf

2.在[mysqld]下添加skip-grant-tables,然后保存并退出

Linux下MySQL忘记root密码的完美解决方法 

3.重启mysql服务:service mysqld restart

 

但是重启不起来,始终找不出原因,就想删了重装吧。刚好再练习一下。但又出了很多问题。记录如下:

二、删除原先已经安装的mysql

查看是否已安装mysql  

rpm -qa |grep mysql

有的话删除对应组件

 然后用yum remove 文件名。如:

依次删除以上三个文件。

三、重新安装mysql

首先要查询一下自己的centos是多少位的系统,然后再安装。我就是一开始没看,安装了64位的系统,尝试了yum安装和rpm安装的方式,都不成功。

尤其是rpm安装是,总提示缺少依赖。见下图。

 

 后来看到一个帖子发现可能是安装的mysql版本不对。(见https://blog.csdn.net/sunbrightness/article/details/80642925)

于是查询了自己的centos系统版本,方法是:

于是,按照以上方法操作:

可以看出,是32位的系统。初步判断问题应该在安装方法上。

至此,原mysql已经删除干净,可以重新安装了。

(一)rpm方式安装。

1、首先找到rpm包

进入官网:https://dev.mysql.com/downloads/mysql/

 

进入后,选择

 

2、下载后就可以上传安装了,通过filezilla上传到centos的 /var/tmp 文件夹下

3、进入var/tmp,输入md5sum 文件名,进行md5校验

将其结果与下载页面上的md5值对比,如果一样,证明文件没问题。可以放心解压安装。

(此为示意图)

 

4、解压文件

  #tar -xvf mysql-5.7.23-1.el6.i686.rpm-bundle.tar

 

5、依次将以上文件拷贝到/usr/local/mysql文件夹。

 

 

6、进入mysql文件夹

7、依次安装包含common libs   client   server deve的包

  

一开始只安装了前四个,最后一个没安装,导致启动不起来,把develop这个包装上后,就启动正常了

 

8、获取mysql的root随机密码

因为root用户默认是空密码,所以输入mysql -u root -p 后

提示不能进入,主要因为为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。只有启动过一次mysql才可以查看临时密码。

grep 'temporary password' /var/log/mysqld.log(如果之前安装过MySQL则这里可能会有多个密码,用最后一个,注意这个密码输入时是可以粘贴的)

9、修改mysql的root密码

使用默认的密码登陆

mysql -uroot -p(这是一个MySQL的以密码登录root用户的命令)

 

修改密码(注意,登录后的操作后面都最好要有;结尾)

ALTER USER 'root'@'localhost' IDENTIFIED BY '你新设的密码';
至此root密码修改完成。

10、开启mysql的远程访问权限
在Linux中装上mysql之后,发现windows中用navicat连接数据库失败,这是由于默认mysql的用户是没有远程访问的权限的,因此当navicat程序跟mysql数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限才能正常访问mysql数据库。同时要在防火墙开始3306端口。
采用改表法设置mysql远程访问权限;
//登录数据库
  mysql -u root -p

>use mysql;
  //%为所有ip都可以远程访问
  mysql>update user set host = '%' where user = 'root';
//或直接添加一条语句也行   
mysql>insert into user (host,user,password) values('192.168.0.51','root',password('123'));  
  //查看一下修改
  mysql>select host, user from user;
//推送设置到内存或重启服务器也行(很关键,一开始没输入这一行,导致始终连接不上)
  mysql>FLUSH PRIVILEGES;

 

11、开启centos防火墙3306端口方法

1)打开防火墙配置文件

 vi  /etc/sysconfig/iptables  

 2)增加下面一行

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

3)更改后的防火墙配置文件

 # 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 3306 -j ACCEPT  

  • -A INPUT -j REJECT --reject-with icmp-host-prohibited  

  • -A FORWARD -j REJECT --reject-with icmp-host-prohibited 

  • COMMIT  

 

4)保存后重启防火墙

service  iptables restart  

至此全部大功告成!

posted @ 2019-03-07 18:44  编城浪子  阅读(1119)  评论(0编辑  收藏  举报