首先说下我的系统环境
用的华为云上的弹性云服务器 配置如下
4vCPUs | 8GB | c2.xlarge
Ubuntu 16.04 server 64bit
远程连接工具我用的Xshell
首先让我们来安装jdk
linux系统下的JDK有两个版本,一个是Openjdk开源版本,另一个是oracle官方版本jdk,oracle的JDK既可以通过添加ppa源命令行安装,也可以去官网下载jdk压缩包安装。
这里我才用的是openjdk的方式安装的,简单省事,两行命令就装完了,并且环境变量都是自动化配好了,做到拆包就能用。
命令步骤如下
1.先更新下软件包列表
sudo apt-get update
2.安装openjdk-8-jdk
sudo apt-get install openjdk-8-jdk
如果是cent OS 则输入下面命令
yum install java-1.8.0-openjdk* -y
3.查看jdk8是否安装成功
java -version
此时出现如下版本号既安装成功
至此jdk安装完毕
其他方法请点击参考这边文章
在让我们来安装下mysql,这里是重头戏,稍微复杂点,但是请你细心装下去就能成功
我比较懒,所以还是选择最简单的命令来安装
1.安装MySQL
sudo apt-get install mysql-server
安装过程中会弹出一个界面让你设置root用户的新密码,如果不设给空跳过就行,但是不建议这么做!毫无安全性可言。
设置完登录密码后,要重复再输入一次密码确定。
ok 静静地等待片刻就装好了
在root跟目下直接输入
mysql -uroot -p"加你刚刚设定登录密码"
回车之后你会看到一个很亲切的界面,是不是很熟悉!~
至此本地版mysql你就可以畅快的使用了。
安装到这里只想本地测试使用mysql的朋友就可以退场了~
话说回来,我们用云端服务器,不就是为了能远程连接使用嘛~
下面开始进行mysql的远程连接配置
首先请确保你已经登录了mysql,界面如上一张截图所示,在mysql>的目录下,如果你已经退出了myslq或者在root根目录下,请你先输入
mysql -uroot -p"加你刚刚设定登录密码"
回车登录下,然后输入
show databases
看到里面的mysql库了吗,输入下面命令进去使用它
use mysql
然后输入
select host,user from user;
update user set host = '%' where user ='root';
select host,user from user;
flush privileges;
quit;
这里主要就在做一件事,user表就是当前能登录你mysql的全部用户,我们输入上面命令,把user列的root用户绑定的host从默认的localhost改成了%,也就是任意host主机都能访问了。
修改成功后再查询user表应该是这样的
quit后我们又来到了root根目录下,这是输入
netstat -an|grep 3306
查看3306端口发现被127.0.0.1占用了,
然后去mysql的安装目录下改配置把127.0.0.1换成0.0.0.0,也就是未分配状态了。
在根目录下输入
cd /etc/mysql/mysql.conf.d/
进入mysql.conf.d目录下,然后
vim mysqld.cnf
进去编辑mysqld.cnf这个文件,
然后wq保存退出即可,我比较懒不想重启服务,所以直接重启系统~~~~
至此先重启下系统输入
reboot
再查看端口号
netstat -an|grep 3306
你会发现已经变了
然后就是最后一步了
把root用户授权所有连接,
不要再根目录下操作,此操作需要你再次进入登录进入mysql中操作。
输入
grant all privileges on *.* to 'root'@'%' identified by '你登录用的密码';
然后让权限生效
flush privileges;
然后就可以输入
quit;
退出mysql了,再次来到根目录了,输入
service mysql enable
至此你就可以远程访问通过root用户加密码远程连接了。
但是到这里我们还不满足,发现远程连接好慢呀,每次都要连接10多秒,无法忍受~
这里是因为mysql默认开启了DNS反向解析,你每次远程请求mysql的时候,他都会对你的ip进行反向解析校验,所以会很慢。不要慌,他能开,我们把它关了不就行了吗,这里的做法就是跳过DNS反向解析即可,
再次去到/etc/mysql/mysql.conf.d/路径下的mysqld.cnf(或者my.cnf)文件,windows版本是mysqld.ini(或者my.ini),仔细找下,看那个文件下有[mysqld]标签,有就在[mysqld]下面一行加入一行代码skip-name-resolve,跳过校验即可,然后保存退出
[mysqld]
skip-name-resolve
最后重启下服务
service mysqld restart
或者重启下linux
reboot
然后你会发现远程再连接就是秒连接了,非常快!
参考的所有文章如下
Linux之Ubuntu18.04安装Java JDK8的三种方式
Ubuntu 16.04系统下安装Mysql5.7
远程连接mysql访问延迟的解决方法
解决mysql远程连接等待时间长的问题
Ubuntu10.10使用软件中心安装mysql5.1
解决远程连接mysql很慢的方法(mysql_connect 打开连接慢)
远程连接mysql访问延迟的解决方法
Ubuntu配置mysql远程连接