美文网首页
云服务器一键配置lamp后mysql实现外网navicat连接

云服务器一键配置lamp后mysql实现外网navicat连接

作者: 不过意局bugyj | 来源:发表于2018-09-05 10:01 被阅读0次

    在腾讯云服务市场中一键配置了

    然后本来配置好的mysql也没用了,navicat连不上,连密码都不知道是什么了,便按以下步骤修改密码和权限最后正常使用!

    1.密码不知道,关闭密码验证进入mysql修改密码。

    在服务器中找到mysql的my.cnf(我的是linux,windows找my.ini)文件(我的在/etc目录下),编辑该文件

    vi my.cnf
    

    在文件内容[mysqld]下添加一行

    skip-grant-tables
    
    esc退出编辑 :wq保存并退出
    
    service mysqld restart   重启mysql服务
    

    然后再登录mysql

    mysql -u root -p     登录mysql
    

    输入任意密码都可以进入mysql

    然后修改密码:

    use mysql;
    #删除的记录要insert进去,然后修改密码
    update user set password=password("new_pass") where user="root";
    flush privileges;
    

    然后删除my.cnf中的skip-grant-tables

    2.设置mysql只允许内网连接权限为允许所有外网都能连接

    这里写两种方法(我用的是第一种)
    
    **第一种:用root用户登陆,然后:**
    
     grant all privileges on *.* to 创建的用户名 @"%" identified by "密码";
    
     flush privileges;   * 刷新刚才的内容*
    

    格式:grant 权限 on 数据库教程名.表名 to 用户@登录主机 identified by "用户密码";

    @ 后面是访问mysql的客户端ip地址(或是 主机名) % 代表任意的客户端,如果填写 localhost 为
    
    本地访问(那此用户就不能远程访问该mysql数据库了)。
    
     同时也可以为现有的用户设置是否具有远程访问权限。如下:
    
     use mysql;
     update db set host = '%' where user = '用户名'; (如果写成 host=localhost 那此用户就不具有远程访问权限)
     flush privileges;
     grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
    

    第二种就是使用grant语句添加用户

    首先在数据库本机上用root用户

    mysql>grant all privileges on *.* to admin@"%" identified by 'something' with grant option;
    (用户名是admin 密码something)
    
    添加一个用户admin并授权可从任何其它主机发起的访问(通配符%)。使用这一条语句即可。
    
    然后使用insert添加用户信息
    
     mysql>insert into user values('%','admin',password('something'), 'y','y','y','y','y','y',
    'y','y','y','y','y','y','y','y')
    
     用户信息可在mysql数据库中的users表中查看。
    
    显示%就是可以任意外网都可以连接了!
    

    3.检测3306端口是否打开,如果是关闭的就打开

    检测命令
    
     netstat -an|grep 3306
    

    我这里是打开了的,如果没有打开的话显示的就是

    tcp            0           0    (服务器ip地址):3306                    0.0.0.0:*                    LISTEN
    

    如何打开呢?

    同样找到my.cnf文件

    找到bind-address = (服务器本地ip地址)这样的配置信息,然后将这条配置信息注释掉或者将ip换成你想被允许连接的电脑的ip。

    service mysqld restart重启
    

    服务器本机打开3306端口不一定能行,我们还要在腾讯云平台配置安全组,将3306端口打开!

    如何配置安全组这里就不说了!

    然后再navicat中就像连接本地的myql一样连接就行了!(填服务器的公网ip)

    相关文章

      网友评论

          本文标题:云服务器一键配置lamp后mysql实现外网navicat连接

          本文链接:https://www.haomeiwen.com/subject/zmwowftx.html