Shawn摘要
一、环境准备首先服务器上得有MySQL
ubuntu上一行命令就可以安装,而且默认是8.0的版本
1sudo apt install mysql-server
然后需要配置服务器安全组(或防火墙)的权限。叫法不同而已,阿里云叫安全组,腾讯云叫防火墙。
点击快速添加,添加MySQL (3306)
二、配置MySQL允许远程连接默认情况下,MySQL服务器只允许本地连接。我们需要修改配置文件来允许远程连接。
如果不修改配置文件,我们直接用IDE连接远端MySQL会显示连接被拒绝
编辑MySQL配置文件 打开MySQL配置文件my.cnf或mysqld.cnf(文件位置因系统不同而异,通常在/etc/mysql/目录下)。在我的ubuntu上是/etc/mysql/mysql.conf.d/mysqld.cnf
1sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
修改绑定地址 找到bind-address配置项,将其修改为0.0.0.0,表示MySQL将监听所有IP地址的连接请求。
将其修改为0.0.0.0
保存并重启MySQL服务
1sudo systemctl restart mysql
三、为远程用户授予访问权限登录MySQL
1mysql -u root -p
创建远程用户并授予权限 为用户remote_user授予从任意IP地址访问数据库的权限:
123CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password';GRANT ALL ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;FLUSH PRIVILEGES;
使用IDE连接成功✌
至此远程连接服务器MySQL大功告成
假如中途遇到了mysql.service failed或其他任何奇奇怪怪的报错,实在解决不了可以彻底删除MySQL,再重装一遍
12345sudo apt autoremove --purge mysql-server\* mariadb-server\*sudo rm -rf /var/lib/mysqlsudo rm -rf /etc/mysql/sudo mkdir -p /etc/mysql/conf.dsudo apt install mysql-server
接下来可以使用IDE直接修改服务器MySQL的数据了,如果以上方法无法成功,以下是替代方案
替代方案1. 使用scp或git将SQL文件拷贝到远端服务器还有一种方式是将.sql脚本文件使用git或scp拷贝到服务器上
使用SCP命令上传SQL文件 假设SQL文件位于本地计算机的/path/to/backup.sql,目标服务器的用户名为remote_user,IP地址为192.168.1.100,目标路径为/remote/path/:
1scp /path/to/backup.sql [email protected]:/remote/path/
运行该命令后,系统将提示你输入远程服务器的密码。输入密码后,SCP将开始将文件上传到远程服务器。
使用git这里就不加追述了
2. 使用MySQL的source命令执行SQL文件通过SSH连接到远程服务器
1ssh [email protected]
登录MySQL
1mysql -u your_mysql_user -p
输入MySQL用户的密码,成功登录后,你将进入MySQL命令行界面。
使用source命令执行SQL文件 假设SQL文件上传到了/remote/path/backup.sql:
1source /remote/path/backup.sql;
运行该命令后,MySQL将依次执行文件中的所有SQL语句。
许可协议
本文采用 署名-非商业性使用-相同方式共享 4.0 国际 许可协议,转载请注明出处。