如何在CentOS7上安装MySQL并实现远程访问
传送门
本人乃学生小白一枚,近期在学习Linux
,所以就简单记录一下~
安装MySQL
- 首先,需要检查一下是否已经安装了
MySQL
:# rpm -qa | grep mysql
这时候没有任何输出,则代表没有安装MySQL
- CentOS7的yum源中没有自带的
MySQL
安装程序,所以要手动下载
# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
- 安装刚才下载的
mysql-community-release-el7-5.noarch.rpm
# rpm -ivh mysql-community-release-el7-5.noarch.rpm
- 正式安装
MySQL
:# yum install mysql-server
- 等待安装完成后,重启
MySQL
服务:# service mysqld restart
- 新安装的MySQL是没有密码的,下面进行密码设置
输入# mysql -uroot
可以直接登录,设置密码的时候,一定记得用password()
函数加密
mysql> set password = password('yourPassword');
or
mysql> update user set password = password('yourPassword') where user = 'root';
- 修改完成后退出
MySQL
重启服务就可以了.(\q、quit、exit都可以退出)
远程访问
本人使用的腾讯云服务器
- 首先,远程访问需要设置一个允许远程访问的用户,
root
用户默认是不允许远程访问的
mysql> grant all privileges on *.* to 'yy'@'%'
授予yy
用户所有访问权限,*.*
代表任意数据库的任意表,%
代表任意ip
地址(这里也可以直接授予root
用户这种权限)
授权完成后刷新一下 : mysql> flush privileges;
- 其次,需要开放
3306
端口
# firewall-cmd --zone=public --add-port=3306/tcp --permanent
出现success即开放成功,然后重启防火墙
# systemctl restart firewalld.service
- 然后,需要设置一个安全组,在安全组的规则里面必须开放
3306
端口
这些工作作完之后,就可以开始尝试连接了
我在连接的时候遇到了下面的问题,连接失败了
我当时想到是
- 网络问题,使用
ping
命令查看能否ping
通 - 端口问题,检查了端口是否开放
- 服务器问题,查看
MySQL
服务是否开启 - 安全组设置问题,检查一下安全组的设置
然而呢,都不是这些问题,我也搜索了很久,最后被我发现了,是我安全组设置完了之后,没有关联实例!没有关联实例!没有关联实例!重要的事情说三遍.
以上就是我简单的学习记录.