Ubuntu安装Mysql启用远程连接的详细图文教程
1、用apt-get安装mysql
?1 2 3 4 5 6 7 8 | #更新一下apt 仓库 sudo apt-get update #安装mysql-service sudo apt-get install mysql-server -y #也可以指定版本 (可选) sudo apt install mysql-server-5.7 |
2、查看Mysql的状态是否安装成功
?1 | sudo service mysql status |
3、设置root密码
此时mysql的root账户没有设置密码,可以直接用mysql
指令登录:
1 | $ mysql |
设置一下root的密码(mynewpassword
部分改成你自己要设置的密码):
1 | ALTER USER 'root' @ 'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword' ; |
退出,输入mysql
指令发现不能直接登录了:
目前为止可以直接在服务器上用mysql了。
设置远程连接
编辑配置文件监听远程连接
默认情况下,MySQL 数据库仅监听本地连接,如果想让外网远程连接到数据库,我们需要修改配置文件,让 MySQL 可以监听远程固定 ip 或者监听所有远程 ip。
这里需要使用一个命令行文本编辑器,我用的vim所以就教一下vim
1、 用vim打开 mysqld.cnf
配置文件:
1 | 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使刚才的修改生效:
?1 | sudo service mysql restart |
允许root账号使用远程连接
mysql默认只允许root账号在本地使用,需要修改一下允许远程使用root账号(没试过其他账号的情况,但原理一致)。先登录mysql:
?
1 | mysql -u root -p |
输入密码,登录。
然后选择 mysql
数据库:
1 | use mysql; |
查看账号的主机权限:
?1 | select user , host from user ; |
?
host
处为localhost
时只允许本地使用,改成%
即可远程使用:
1 | update user set host= '%' where user = 'root' ; |
退出mysql。
?1 | exit; |
检查ubuntu自带的防火墙状态
?1 | sudo ufw status |
如果是
inactive
说明防火墙没开,那就不用管了。防火墙是干嘛的呢,我自己的理解就是,如果开了防火墙,那服务器上所有端口都是默认禁止连接的,只有你允许的端口才允许连接,类似于这种:
所以如果防火墙开了,那要么把防火墙直接关了,要么添加一条规则让防火墙放行3306端口(mysql的默认端口)::
?1 2 3 4 5 | #关闭防火墙 sudo ufw disable #添加一条规则让防火墙放行3306端口 sudo ufw allow 3306 |
设置完上述操作,即可测试是否能够远程连接 mysql
总结
到此这篇关于Ubuntu安装Mysql启用远程连接的文章就介绍到这了,更多相关Ubuntu安装Mysql启用远程连接内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/djklsajdklsajdlk/article/details/127521438
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。