一、前提
服务器需要开放端口访问权限,才能访问到服务器数据库
1. 安全组规则
首先如果你的服务器是云服务提供商的服务器,需要先去管理控制台确认安全组规则的端口开放情况(mysql 默认是 3306),如阿里 ecs 则可以参考 阿里云服务器开启端口访问权限
2. 防火墙
开放了服务器端口后还需要配置相应的防火墙设置,参考 centOS 防火墙配置
二、安装 mysql
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。
1. 下载. Yum Repository,并使用 yum 安装 mysql
$ wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
$ yum -y install mysql57-community-release-el7-10.noarch.rpm
$ yum -y install mysql-community-server
2. 修改默认密码
启动并查看初始化的 root 用户的密码,该密码存放在 /var/log/mysqld.log 的日志文件中,以下第三个命令可以查看该密码
$ systemctl start mysqld.service
$ systemctl status mysqld.service
$ grep "password" /var/log/mysqld.log
使用初始化默认密码进入数据库并修改密码,注意密码不能过于简单,否则会报错哦
$ mysql -uroot -p
$ ALTER USER 'root'@'localhost' IDENTIFIED BY 'testpwd';
$
安装完成后,为防止每次使用 yum 都自动更新,需要卸载
$ yum -y remove mysql57-community-release-el7-10.noarch
三、mysql 的访问
此时,在本地仍然无法访问服务器的 mysql 数据库,需要赋予用户名为 root 的所有 ip 远程连接权限才行
$ mysql -uroot -ptestpwd
mysql> use mysql;
mysql> update user set host='%'where user='root';
mysql> flush privileges;
OK,万事大吉?,现在可以愉快的连接和使用已经安装好的 mysql 了