zoukankan      html  css  js  c++  java
  • Ubuntu18.04:MySQL: 5.7安装与卸载并配置远程登录(服务器装Mysql5.7一条龙服务)

    UbuntuMySQL: 5.7安装与卸载

    卸载

    sudo apt-get autoremove --purge mysql-server-5.7
    sudo apt-get remove mysql-server
    sudo apt-get autoremove mysql-server
    sudo apt-get remove mysql-common
    sudo rm -rf /etc/mysql/  /var/lib/mysql    #很重要
    #清理残留数据
    dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
    sudo apt autoremove
    sudo apt autoclean
    

    安装

    1 sudo apt-get install mysql-server
    2 sudo apt-get install mysql-client
    3 sudo apt-get install libmysqlclient-dev
    

    使用:

    1. 启动服务(我看也有sudo service mysql start来启动的)

      sudo /etc/init.d/mysql start
      #或
      sudo service mysql start
      
    2. 登录

      mysql5.7在我这个版本中默认是免密登录,是非常不安全的,必须设置密码登录

      用以下指令可以看到可以默认设置中的用户登录的用户名密码,复制用户名密码进行登录

      mysql -u 用户名 -p
      
      #输入密码
      

       在MySQL 5.7password字段已从mysql.user表中删除,新的字段名是“authenticalion_string”.

          先检查一下rootplugin字段是否为mysql_native_password

      use mysql;
      select user, plugin from user;
      

          这是我现在的值(开始的时候我的root的plugin字段就是’auth_socket‘ 修改语句“

      update user set plugin='mysql_native_password' where user='123456';
      
      +------------------+-----------------------+
      | user             | plugin                |
      +------------------+-----------------------+
      | root             | mysql_native_password |
      | mysql.session    | mysql_native_password |
      | mysql.sys        | mysql_native_password |
      | debian-sys-maint | mysql_native_password |
      +------------------+-----------------------+
      
      1. 修改密码
      update user set authentication_string=password('newPwd') where user='root';
      flush privileges;  #刷新mysql权限
      
      1. 新密码登录
      1 mysql -u root -p
      2 #输入密码即可
      

    配置远程登录

    在这里我发现虽然给root设置了密码,但是还是可以直接免密登录,所以问题并不是出在这里

    通过一些途径我知道数据库的监听端口虽然是3306可是仅限制在127.0.0.1本地访问以下是解决办法

    1. 首先修改配置文件,因为5.7版本不会生成my.cnf文件,他的配置文件是vim /etc/mysql/mysql.conf.d/mysqld.cnf

      并把bind-address注释掉

    #不适用本版本(mysql5.7)vi /etc/mysql/my.cnf  
    vim /etc/mysql/mysql.conf.d/mysqld.cnf
    /etc/init.d/mysql restart # 重启
    

    为需要远程登录的用户赋予权限

    1. 新建用户远程连接mysql数据库
    grant all on *.* to admin@'%' identified by '123456' with grant option; 
    flush privileges;
    

    允许任何ip地址(%表示允许任何ip地址)的电脑用admin帐户和密码(123456)来访问这个mysql server。
    注意admin账户不一定要存在。

    1. 支持root用户允许远程连接mysql数据库

      update user set host="%" where user="root"; //目的就是把用户的host修改为%,不是localhost就能远程访问了
      
    我会写代码+代码改变世界=我会改变世界! 为什么要改变世界? 如果无法改变世界,那么,世界就会改变我......
  • 相关阅读:
    php5升级到php7 后对于mysql数据库的关联出现问题的解决方案
    关于js与php互相传值的介绍【转载+自身总结】
    PHP页面间参数传递的四种方法详解
    很久没更新博客了, 明天开始恢复更新。
    SQL 行转列
    oracle 记录被别的用户锁住
    IIS32位,64位模式下切换
    Oracle 分页
    Oracel 提取数字
    Win8 做无线热点
  • 原文地址:https://www.cnblogs.com/chougoushi/p/13529971.html
Copyright © 2011-2022 走看看