加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 钦州站长网 (https://www.0777zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Ubuntu安装Mysql启用远程连接

发布时间:2022-11-16 12:44:26 所属栏目:MySql教程 来源:
导读:  1、用apt-get安装mysql

  #更新一下apt 仓库
  sudo apt-get update
  #安装mysql-service
  sudo apt-get install mysql-server -y
  #也可以指定版本 (可选)
  sudo apt install mys
  1、用apt-get安装mysql
 
  #更新一下apt 仓库
  sudo apt-get update
  #安装mysql-service
  sudo apt-get install mysql-server -y
  #也可以指定版本   (可选)
  sudo apt install mysql-server-5.7
  2、查看Mysql的状态是否安装成功
 
  sudo service mysql status

  3、设置root密码
 
  此时mysql的root账户没有设置密码,可以直接用mysql指令登录:
 
  $ mysql
 
  设置一下root的密码(mynewpassword部分改成你自己要设置的密码):
 
  ALTER?USER?'root'@'localhost'?IDENTIFIED?WITH?mysql_native_password?by?'mynewpassword';
 
  退出,输入mysql指令发现不能直接登录了:
 
  目前为止可以直接在服务器上用mysql了。
 
  二、设置远程连接
 
  编辑配置文件监听远程连接
 
  默认情况下,MySQL 数据库仅监听本地连接,如果想让外网远程连接到数据库mysql远程,我们需要修改配置文件,让 MySQL 可以监听远程固定 ip 或者监听所有远程 ip。
 
  这里需要使用一个命令行文本编辑器,我用的vim所以就教一下vim
 
  1、 用vim打开mysqld.cnf配置文件:
 
  sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
  2、 找到bind-address = 127.0.0.1这一行:
 
  这个值是127.0.0.1的时候只监听本地连接,改成0.0.0.0可以监听所有连接,或者也可以改成仅允许指定ip连接都可以。
 
  现在vim是阅读模式,按一下i进入编辑模式,然后用上下左右键定位到这行(最下面显示INSERT的时候表明处于编辑模式,按Esc可退出返回到阅读模式):

  改完之后按Esc退出编辑模式,然后输入:wq保存退出。(若输入:q则退出但不保存)
 
  3、重启mysql service使刚才的修改生效:
 
  sudo?service?mysql?restart
  允许root账号使用远程连接
 
  mysql默认只允许root账号在本地使用,需要修改一下允许远程使用root账号(没试过其他账号的情况,但原理一致)。先登录mysql:
 
  mysql -u root -p
  输入密码,登录。
 
  然后选择 mysql数据库:
 
  use mysql;

  查看账号的主机权限:
 
  select user, host from user;

  host处为localhost时只允许本地使用,改成%即可远程使用:
 
  update user set host='%' where user='root';
 
  退出mysql。
 
  exit;
  检查ubuntu自带的防火墙状态
 
  sudo ufw status

  如果是inactive说明防火墙没开,那就不用管了。防火墙是干嘛的呢,我自己的理解就是,如果开了防火墙,那服务器上所有端口都是默认禁止连接的,只有你允许的端口才允许连接,类似于这种:
 
  所以如果防火墙开了,那要么把防火墙直接关了,要么添加一条规则让防火墙放行3306端口(mysql的默认端口)::
 
  #关闭防火墙
  sudo ufw disable
  #添加一条规则让防火墙放行3306端口
  sudo ufw allow 3306
  设置完上述操作,即可测试是否能够远程连接 mysql
 

(编辑:PHP编程网 - 钦州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!