时间:2022-06-20来源:www.pcxitongcheng.com作者:电脑系统城
用的是百度云的云服务器(其他云服务器同理),系统是Ubuntu 20.04 LTS,Mysql版本8.0+,需求是在Windows上开发,可以随时远程连接读写服务器上的Mysql
用ssh客户端或者云服务器厂家提供的网页版控制台都行,只要你能连上服务器就行
顺便私心推荐一个好看又好用的ssh客户端:NextSSH
先更新一下apt仓库:
1 | sudo apt-get update |
顺便说一下,因为不知道你们用的都是什么账户,我也搞不清楚哪些指令权限要求比较高,所以我所有指令都加sudo
了,这样不管是谁复制粘贴都能直接用,不会出现权限问题。
然后安装mysql-server:
1 | sudo apt-get install mysql-server -y |
到这一步其实mysql就已经安完了并且自动启动了,可以看一下:
1 | sudo service mysql status |
此时mysql的root账户没有设置密码,可以直接用mysql
指令登录:
设置一下root的密码(mynewpassword
部分改成你自己要设置的密码):
1 | ALTER USER 'root' @ 'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword' ; |
退出,输入mysql
指令发现不能直接登录了:
目前为止可以直接在服务器上用mysql了。
默认情况下,MySQL 数据库仅监听本地连接,如果想让外网远程连接到数据库,我们需要修改配置文件,让 MySQL 可以监听远程固定 ip 或者监听所有远程 ip。
这里需要使用一个命令行文本编辑器,我用的vim所以就教一下vim,你们要是会nano或者别的自然知道该怎么弄,要是听不懂就照我的来。安装vim:
1 | sudo apt-get install vim -y |
然后用vim打开mysqld.cnf
配置文件:
1 | sudo vim /etc/mysql/mysql .conf.d /mysqld .cnf |
找到bind-address = 127.0.0.1
这一行:
这个值是127.0.0.1
的时候只监听本地连接,改成0.0.0.0
可以监听所有连接,或者也可以改成仅允许指定ip连接都可以。
现在vim是阅读模式,按一下i
进入编辑模式,然后用上下左右键定位到这行(最下面显示INSERT的时候表明处于编辑模式,按Esc可退出返回到阅读模式):
改完之后按Esc退出编辑模式,然后输入:wq
保存退出。(若输入:q
则退出但不保存)
重启mysql service使刚才的修改生效:
1 | sudo service mysql restart |
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 | sudo ufw status |
如果是inactive
说明防火墙没开,那就不用管了。防火墙是干嘛的呢,我自己的理解就是,如果开了防火墙,那服务器上所有端口都是默认禁止连接的,只有你允许的端口才允许连接,类似于这种:
所以如果防火墙开了,那要么把防火墙直接关了:
1 | sudo ufw disable |
要么添加一条规则让防火墙放行3306端口(mysql的默认端口):
1 | sudo ufw allow 3306 |
打开云服务器的后台管理页面,找到防火墙:
云服务器厂商默认只开启几个最常用的端口,其他端口都是默认关闭的,所以也要在这里添加一条规则放行3306端口:
随便找个数据库管理的软件测试一下:
就连上了。常见的问题应该都提到了,如果还是连不上那你们再想想办法吧。
2023-10-30
windows上的mysql服务突然消失提示10061 Unkonwn error问题及解决方案2023-10-30
MySQL非常重要的日志bin log详解2023-10-30
详解MySQL事务日志redo log一、单表查询 1、排序 2、聚合函数 3、分组 4、limit 二、SQL约束 1、主键约束 2、非空约束 3、唯一约束 4、外键约束 5、默认值 三、多表查询 1、内连接 1)隐式内连接: 2)显式内连接: 2、外连接 1)左外连接 2)右外连接 四...
2023-10-30
Mysql删除表重复数据 表里存在唯一主键 没有主键时删除重复数据 Mysql删除表中重复数据并保留一条 准备一张表 用的是mysql8 大家自行更改 创建表并添加四条相同的数据...
2023-10-30