Linux 云服务器配置 MySQL
背景介绍
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。本文介绍了在不同系统的云服务器中安装配置 MySQL。
CentOS
-
安装 MySQL
使用 yum 安装。
yum -y install mysql-server rpm -qa | grep mysql # 检查 mysql 是否安装成功 systemctl start mysqld.service #查看 mysql 服务状态
-
启动 MySQL 服务
systemctl start mysqld.service # 启动 mysql systemctl restart mysqld.service # 重启 mysql systemctl stop mysqld.service # 停止 mysql systemctl enable mysqld.service # 设置 mysql 开机启动
MySQL 常用文件路径:
-
/etc/my.cnf
这是 mysql 的主配置文件。 -
/var/lib/mysql
mysql 数据库的数据库文件存放位置。 -
/var/logs/mysql/mysqld.log
数据库的日志输出存放位置。
-
-
本地登录 MySQL
-
MySQL 启动后,有默认密码,可以通过下述命令来获取默认密码。
grep "password" /var/log/mysql/mysqld.log
-
若无密码,直接执行命令后回车即可登录。
mysql -u root -p
-
-
修改密码并开启远程访问
-
登录 MySQL 后,需要重置 root 用户密码,否则无法继续操作。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySQL1234';
-
开启 root 用户远程访问。
mysql> USE mysql; mysql> UPDATE user SET host = '%' WHERE user = 'root' ; mysql> FLUSH PRIVILEGES; mysql> SELECT host,user FROM user;
-
-
关闭主机内部防火墙。
关闭主机防火墙,Active 为
dead
即为关闭状态。systemctl status firewalld.service # 查看防火墙状态 systemctl stop firewalld.service # 关闭防护墙 systemctl start firewalld.service # 打开防火墙 systemctl enable firewalld.service # 开启防火墙 systemctl disable firewalld.service # 禁用防火墙
-
远程客户端连接测试
-
远程客户端连接,需要在主机绑定的安全组处添加相应的规则,添加之后点击上方的应用修改。点击主机 id 进入主机详情页,点击绑定资源的安全组,即可跳转至安全组。
-
点击添加规则,添加端口并提交后,点击应用修改。
-
通过云服务器绑定的公网 ipv4 进行连接,已正常连接。
-
Ubuntu
-
安装 MySQL
使用
apt-get
命令安装,可以切换到 root 用户进行操作。在安装 MySQL 时,会弹出密码输入界面,输入两次密码即可。apt-get update apt-get install mysql-server systemctl status mysql.service #查看 mysql 服务状态
-
启动 MySQL 服务
systemctl start mysql.service #启动 mysql systemctl restart mysql.service #重启 mysql systemctl stop mysql.service #停止 mysql systemctl enable mysql.service #设置 mysql 开机启动
-
设置服务监听地址
修改服务监听地址为
0.0.0.0
,后重启 MySQL 服务。vi /etc/mysql/mysql.conf.d/mysqld.cnf bind-address = 0.0.0.0 #设置监听地址为 0.0.0.0 systemctl restart mysql.service #重启 mysql netstat -lntp | grep mysql #查看监听地址为 0.0.0.0
此时可以看到已经监听
0.0.0.0
地址。 -
本地登录 MySQL
直接执行命令后回车即可登录。
mysql -u root -p
-
开启远程访问。
登录后开启远程访问。
mysql> USE mysql; mysql> UPDATE user SET host = '%' WHERE user = 'root' ; mysql> FLUSH PRIVILEGES; mysql> SELECT host,user FROM user;
-
关闭主机内部防火墙 ufw。
关闭主机防火墙,Active 为
dead
即为关闭状态ufw status # 查看防火墙状态 ufw enable # 开启防火墙 ufw disable # 禁用防火墙
systemctl status iptables # 查看 iptables 状态 systemctl stop iptables # 关闭 iptables systemctl start iptables # 打开 iptables systemctl enable iptables # 开启 iptables systemctl disable iptables # 禁用 iptables
-
远程客户端连接测试
-
远程客户端连接,需要在主机绑定的安全组处添加相应的规则,添加之后点击上方的应用修改。点击主机 id 进入主机详情页,点击绑定资源的安全组,即可跳转至安全组。
-
点击添加规则,添加端口并提交后,点击应用修改。本地客户端连接,需要在主机绑定的安全组处添加相应的规则,添加之后点击上方的应用修改。
-
通过主机绑定的公网 ipv4 进行连接,已正常连接。
-
Windows
-
下载安装 MySQL
-
进入官网找到所需的安装包:https://dev.mysql.com/ ,路径:MySQL Downloads — MySQL Community Server-- Microsoft Windows,或者直接点击链接:https://dev.mysql.com/downloads/mysql/ 。
-
下载完成后,将 zip 包解压到相应目录,本文解压至
C:\mysql
下。 -
然后在
C:\mysql\mysql-8.0.23-winx64
目录下添加配置文件my.ini
,输入以下信息,C:\mysql\data
需要提前创建。也可以自行添加所需的参数。[mysqld] basedir = C:\mysql\mysql-8.0.23-winx64 #mysql 的安装目录 datadir = C:\mysql\data #设置数据存放目录,也可以不设置 bind-address = 0.0.0.0 #设置监听地址为 0.0.0.0 port = 3306 #设置端口为 3306
-
执行 win +R ,打开运行,使用管理员权限打开 cmd。
-
切换至
bin
目录下。cd C:\mysql\mysql-8.0.23-winx64\bin
-
初始化数据库。
mysqld --initialize --console
由于部分镜像未安装 vc++运行库,导致无法初始化,可以通过这个链接 vc_redist.x64.exe 下载 x64 的运行包,也可以在这个链接处自行下载 最新支持的 Visual C++ 下载。
此时已初始化成功,红框处为 root 用户的默认密码。
-
执行安装命令并启动。
mysqld --install net start mysql
-
执行
netstat
命令可以看是否正常监听0.0.0.0
,下图为监听状态。netstat -ano | findstr 3306
-
-
本地登录 MySQL。
-
使用默认密码登录 MySQL。
mysql -u root -p
-
登录后需要重置密码,参考命令。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySQL1234';
-
-
开启远程访问。
登录后开启远程访问。
mysql> USE mysql; mysql> UPDATE user SET host = '%' WHERE user = 'root' ; mysql> FLUSH PRIVILEGES; mysql> SELECT host,user FROM user;
-
关闭主机内部防火墙。
关闭防火墙,点击 开始 > 服务器管理器 > 本地服务器 > Windows Defender 防火墙,将防火墙关闭。
-
远程客户端连接测试。
-
远程客户端连接,需要在主机绑定的安全组处添加相应的规则,添加之后点击上方的应用修改。点击主机 id 进入主机详情页,点击绑定资源的安全组,即可跳转至安全组。
-
点击添加规则,添加端口并提交后,点击应用修改。
-
通过云服务器绑定的公网 IPv4 进行连接,已正常连接。
-