1. 服务器环境

服务器使用的是CentOS 7,如果你没有合适的服务器,我推荐使用Vultr,地址:https://www.vultr.com/?ref=7471754 。

2. 安装MySQL 7

下载并安装MySQL Yum Reposity
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

安装 MySQL
yum -y install mysql-community-server

安装过程需要一些时间,安装完成后,如下图所示:

CentOS 7 安装MySQL 7 并开启远程连接-程序旅途

3. 配置 MySQL

启动 MySQL
systemctl start  mysqld.service

查看 MySQL 运行状态
systemctl status mysqld.service

CentOS 7 安装MySQL 7 并开启远程连接-程序旅途
获取 root 默认密码
grep "password" /var/log/mysqld.log

CentOS 7 安装MySQL 7 并开启远程连接-程序旅途
登录 MySQL
mysql -uroot -p

输入密码后,即可登录 MySQL,但是默认密码是不能做任何操作的,需要先修改密码。

修改默认密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

4. 开启远程连接

创建用户
CREATE USER 'root'@'%' IDENTIFIED BY 'password';

host是%的用户才可以远程登录,这里可以创建新的用户也可以将已有用户的host设置为%。

用户授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

配置防火墙

如果经过上面的配置可以远程连接,这一步可以跳过。

CentOS 7 使用的是 firewalld 防火墙,可以使用 firewall-cmd 命令行工具操作firewalld。

查看防火墙状态

firewall-cmd --state

查看开启的端口

firewall-cmd --zone=public --list-ports

开启3306端口

firewall-cmd --permanent --zone=public --add-port=3306/tcp

firewall-cmd --reload

检查是否生效

iptables -L -n | grep 3306

CentOS 7 安装MySQL 7 并开启远程连接-程序旅途

至此,就可以顺利通过远程连接到 MySQL 了。

其他

默认的mysql配置文件在 /etc/my.cnf,可以通过使用命令:mysql --help|grep 'my.cnf' 查看

另外需要注意的是mysql默认区分大小写,可以使用命令

show variables like 'lower%'

CentOS 7 安装MySQL 7 并开启远程连接-程序旅途

lower_case_file_system 表示数据库文件名是否区分大小写 默认为 OFF 大小写敏感

lower_case_table_names 表示表名是否区分大小写,默认0,大小写敏感

如果修改表名不区分大小写,vi /etc/my.cnf,在最后添加

lower_case_table_names=1

CentOS 7 安装MySQL 7 并开启远程连接-程序旅途

保存,systemctl restart mysqld.service 即可。