Ubuntu安装Mysql启用远程连接的详细图文教程
作者:FAFU_kyp 发布时间:2024-01-25 16:57:31
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 可以监听远程固定 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
来源:https://blog.csdn.net/djklsajdklsajdlk/article/details/127521438


猜你喜欢
- 本文实例讲述了javascript中createElement的两种创建方式。分享给大家供大家参考。具体实现方法如下:<html xm
- 本文实例讲述了Python面向对象之继承原理与用法。分享给大家供大家参考,具体如下:目标单继承多继承面向对象三大特性封装 根据 职责 将 属
- TensorFlow训练时,遇到内存不断增长,最终导致内存不足,进程被杀死。在这里我不准备对造成这一现象的所有原因进行探讨,只是记录一下我在
- super().__ init__ ()有什么用?super().__init__() 、 super(B,self).__init__()
- 对url进行编码在服务器端我们可以使用asp中的server.urlencode,很方便实现。如:<% ss="asp之家欢
- “站内信”不同于电子邮件,电子邮件通过专门的邮件服务器发送、保存。而“站内信”是系统内的消息,说白了,“站内信”的实现,就是通过数据库插入记
- 百度,谷歌之后都说用setHintSize(self,QCore.QSize(width,height)),然并卵,后来用qss修改就可以了
- 一、验证计算机服务列表中是否有MySQL服务(1)右击桌面上的计算机图标出现菜单列表选项,选中管理(有多种方式可以打开计算机本地服务列表,这
- 当要处理批量图片,且每张图片都要进行显示时,用plt.imshow() plt.show()会出现内存泄漏, 管理器中看到其中一个pytho
- 这篇文章主要介绍了python自动化unittest yaml使用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参
- 如果是后台上传文件:setting配置:STATIC_URL = '/static/'STATICFILES_DIRS =
- 有时一些网页对源码进行了加密,我们很难找到类似像“onselectstart="return false"”这样的代码,
- 一、前言班花加我说她电话坏了让我看看,那肯定义不容辞!【兴奋了半个小时】没别的我就想秀一下技术!五分钟后我修好了,电脑重启之后显示输入密码,
- 使用现有的txt文本和图片,就可以用wordcloud包生成词云图。大致步骤是:1、读取txt文本并简单处理;2、读取图片,以用作背景;3、
- 详解Python import方法引入模块的实例在Python用import或者from…import或者from…import…as…来导
- 一:模板的理解模板是将一个事物的结构规律予以固定化、标准化的成果。例如:网页的组成需要是html,head,body,你只要按照它的规则来写
- 本文实例讲述了Python Socket实现简单TCP Server/client功能。分享给大家供大家参考,具体如下:网络上关于socke
- Python的数据结构有列表、元组、集合、字典等,可以吧列表当成一个清单,是有序的,我们可以通过索引访问到列表中的元素,列表还可以进行修改、
- 代码如下: document.getElementById("btnConnect").value = "连接
- sql的max之类的聚合函数只能针对同一列的n行运算,如果对n列运算,一般都用case 语句来判断,如果列少还比较容易写,列多了就麻烦了。-