사용된 클라우드 서버는 Baidu Cloud입니다(다른 클라우드 서버에도 동일하게 적용됩니다). 시스템은 Ubuntu 20.04 LTS, Mysql 버전 8.0+이며 Windows에서 개발해야 하며 원격으로 Mysql에 연결할 수 있습니다. 언제든지 서버를 읽고 쓸 수 있습니다
서버에 연결할 수 있는 한 SSH 클라이언트나 클라우드 서버 제조업체에서 제공하는 웹 콘솔을 사용할 수 있습니다
By 그런데 저는 개인적으로 보기 좋고 사용하기 쉬운 SSH 클라이언트를 추천합니다: NextSSH
apt 저장소를 먼저 업데이트하세요:
sudo apt-get update
그나저나 저는 모르거든요 어떤 계정을 사용하고 있는지, 어떤 명령이 더 높은 권한이 필요한지 알 수 없어서 모두 가지고 있습니다. 명령은 모두 sudo
로 추가되므로 누가 복사해서 붙여넣어도 사용할 수 있습니다. 권한 문제 없이 직접 다운로드할 수 있습니다.
그런 다음 mysql-server를 설치하세요:sudo
了,这样不管是谁复制粘贴都能直接用,不会出现权限问题。
然后安装mysql-server:
sudo apt-get install mysql-server -y
到这一步其实mysql就已经安完了并且自动启动了,可以看一下:
sudo service mysql status
此时mysql的root账户没有设置密码,可以直接用mysql
指令登录:
设置一下root的密码(mynewpassword
部分改成你自己要设置的密码):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'mynewpassword';
退出,输入mysql
指令发现不能直接登录了:
目前为止可以直接在服务器上用mysql了。
默认情况下,MySQL 数据库仅监听本地连接,如果想让外网远程连接到数据库,我们需要修改配置文件,让 MySQL 可以监听远程固定 ip 或者监听所有远程 ip。
这里需要使用一个命令行文本编辑器,我用的vim所以就教一下vim,你们要是会nano或者别的自然知道该怎么弄,要是听不懂就照我的来。安装vim:
sudo apt-get install vim -y
然后用vim打开mysqld.cnf
配置文件:
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使刚才的修改生效:
sudo service mysql restart
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。
sudo ufw status
如果是inactive
sudo ufw disable이 단계에서는 mysql이 실제로 설치되고 자동으로 시작됩니다. 살펴보세요:🎜
sudo ufw allow 3306🎜🎜🎜루트 비밀번호 설정(
mynewpassword
부분을 설정하려는 비밀번호로 변경): 🎜rrreee🎜🎜🎜종료하고 mysql
명령을 입력하면 직접 로그인할 수 없습니다: 🎜🎜🎜🎜이제 서버에서 직접 mysql을 사용할 수 있습니다. 🎜🎜원격 연결을 모니터링하도록 구성 파일을 편집하세요🎜🎜기본적으로 MySQL 데이터베이스는 로컬 연결만 모니터링합니다. 외부 네트워크가 데이터베이스에 원격으로 연결되도록 하려면 MySQL이 원격 고정을 모니터링할 수 있도록 구성 파일을 수정해야 합니다. IP를 사용하거나 모든 원격 IP를 모니터링합니다. mysqld.cnf
구성 파일을 엽니다. 🎜rrreee🎜 bind-address = 127.0.0.1
줄을 찾습니다. 🎜🎜🎜🎜이 값은 127.0.0.1는 로컬 연결만 모니터링합니다. 모든 연결을 모니터링하려면 <code>0.0.0.0
으로 변경하거나, 지정된 IP 연결만 허용하도록 변경할 수도 있습니다. i
를 클릭하여 편집 모드로 들어간 다음 위쪽, 아래쪽, 왼쪽 및 오른쪽 키를 사용하여 이 줄을 찾습니다(하단에 INSERT가 표시되면 편집 모드에 있음을 나타냅니다. 종료하고 읽기 모드로 돌아가려면 Esc를 누르세요. 🎜🎜:wq
를 입력하여 저장하고 종료합니다. (:q
를 입력하면 저장하지 않고 종료됩니다)mysql
데이터베이스를 선택하세요: 🎜rrreee🎜🎜🎜계정의 호스트 권한 보기: 🎜rrreee🎜🎜🎜host
는 localhost
인 경우에만 로컬에서 사용할 수 있습니다. %
로 변경하세요. 원격으로 사용할 수 있습니다: 🎜rrreee🎜 🎜🎜mysql을 종료합니다. 🎜🎜ubuntu와 함께 제공되는 방화벽 상태를 확인하세요🎜rrreee🎜🎜🎜비활성
이면 방화벽이 켜져 있지 않다는 의미이므로 걱정하지 마세요. 방화벽의 목적은 무엇입니까? 방화벽이 켜져 있으면 기본적으로 서버의 모든 포트 연결이 금지됩니다. 다음과 유사하게 허용된 포트만 연결이 허용됩니다.
所以如果防火墙开了,那要么把防火墙直接关了:
sudo ufw disable
要么添加一条规则让防火墙放行3306端口(mysql的默认端口):
sudo ufw allow 3306
打开云服务器的后台管理页面,找到防火墙:
云服务器厂商默认只开启几个最常用的端口,其他端口都是默认关闭的,所以也要在这里添加一条规则放行3306端口:
随便找个数据库管理的软件测试一下:
위 내용은 원격 연결을 활성화하기 위해 Ubuntu에 Mysql을 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!