hELlo,大家好,今日第四弹来喽~这是元气满满的节奏呀😊
继续教大家在阿里云服务器上安装和配置MySQL数据库。
一. 安装及注册
- 大家先通过Xshell 6连接上自己的云服务器(还不会操作Xshell 6的同学请移步翻阅我之前的博客),在root用户下操作,正式安装之前,按照国际惯例,先来更新一波apt。
# apt update
- 安装:推荐大家安装MySQL5.7的server版,直接一行代码:
# apt install mysql-server-5.7
- 注册:安装中会出现下面的界面,是让你设置root账号密码,这个密码很重要很重要很重要。当然需要输入两次。
- 测试登录:等待程序运行完毕,就算是安装完成了,这时候我们可以测试以下,登录我们的root账号,MySQL数据库默认是只允许本地localhost连接(即
127.0.0.1
),-u
之后是你登录的用户名,-h
之后是你登录的IP地址,之后会教大家配置远程IP连接,到时候这里就可以换成你的阿里云服务器ECS的外网IP。
# mysql -uroot -h127.0.0.1 -p
控制台换成mysql>就说明你已经安装成功啦~
二. 配置远程IP连接
MySQL数据库默认会有四张表,配置远程连接本质上就是修改user表里root用户的host
值:
① host值默认为localhost
(127.0.0.1),只允许本地连接;
② host值若为59.110.52.105
,具体的IP地址,意思就是root用户只能通过客户端IP地址为192.168.1.1的的地址去访问;
③ host值还可以是192.168.1.%
,%是一个通配符,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接;
④ 我们是要把host值改为%
,表示所有IP都有连接权限。
2.1 修改user表——root用户的host值为%
具体的配置步骤如下(注意mysql的指令都必须以分号结尾):
- 查看四张表:
mysql > show databases;
- 我们用到的就是mysql这张表,现在打开它:
mysql > use mysql;
- 搜索host列:
mysql > select user,host from user;
- 你会发现root账户的host值默认为
localhost
,修改为%
即可:
mysql > update user set host='%' where user='root';
- 退出MySQL,然后重启mysql服务:
mysql > exit;
# service mysql restart
2.2 修改/etc/mysql/my.cnf文件
只配置第一步的host值,你会发现还是不能通过外网IP连接,它会提示以下错误:
ERROR 2003 (HY000): Can't connect to MySQL server on '59.110.52.105' (111)
原因就是MySQL默认是不开放对外访问的功能的(MySQL的3306端口默认是不对外开放的)。我们来查看一下3306端口的状态:
# netstat -an | grep 3306
从图里可以看到:3306端口还是只允许127.0.0.1的本地访问。接下来我们就去解决这个问题:
修改/etc/mysql/my.cnf文件。用vim编辑器打开文件:
# vim /etc/mysql/my.cnf
把下述代码分别添加到图示位置:
(设置默认的字符编码方式为utf8,其实与远程连接无关,哈哈哈)
[client]
default-character-set=utf8
[mysqld]
character-set-server=utf8
max_connections=1000
(重点来了来了来了!修改3306端口IP监听范围为0.0.0.0
,意思就是不限制IP地址,都可以远程访问MySQL数据库)
bind-address=0.0.0.0
保存并退出,继续退出MySQL,再次重启mysql服务:
mysql > exit;
# service mysql restart
现在再查看3306端口信息:
# netstat -an | grep 3306
2.3 云服务器安全组添加3306端口
这一步是必不可少的,说多了都是泪呀,当时的我年少轻狂, 现实的报错让我一脸懵逼…
ubuntuERROR 2003 (HY000): Can't connect to MySQL server on '59.110.52.105' (110)
如果和我有相同遭遇的童鞋,就是你的云服务器3306端口没开,没错,和之前SSH的22端口是同样的味道~
到这里就可以恭喜泥萌啦 ~终于终于终于!可以远程连接啦❀❀❀❀
# mysql -uroot -h59.110.52.105 -p
国际惯例再加一条:看见我的博客自动素质四连。哈哈哈❤❤❤❤