mysql 虚拟主机搭建,虚拟机环境部署 mysql 数据库

很多人看到MySQL虚拟主机搭建,会误以为需要在虚拟主机内部自行部署MySQL服务,两者其实完全不是一回事。服务商将一台物理服务器划分多个独立空间,作为虚拟主机分配给不同用户,使用者没有root权限,无法自行安装软件。用户能操作的内容,是服务商提供的管理面板,用来新建数据库、创建数据库账号、导入数据。虚拟机或者云服务器才支持自行安装MySQL,这类资源会给到完整服务器控制权限。把两件事混在一起理解,很容易产生认知混乱。

先说虚拟主机场景。选购虚拟主机套餐,需要确认套餐是否附带数据库服务、支持数据库数量、单库容量上限。cPanel、宝塔这类面板一般都会提供MySQL数据库管理入口。进入面板,先设置数据库名称,新建数据库用户,再把用户绑定至数据库,勾选全部权限。数据库名、用户名前端会附带一串服务商自动生成的前缀,用来避免重名,程序填写连接参数时不能遗漏该前缀。接着登录phpMyAdmin,上传本地SQL文件完成导入。导入前核对字符集,老旧程序采用utf8,新版程序推荐utf8mb4,选错字符集会导致中文内容显示为问号。如果业务需要远程连接数据库,绝大多数共享虚拟主机不允许外部IP直接访问3306端口,仅支持localhost本地连接。有远程管理需求,可以尝试SSH隧道,或是选购服务商提供的远程数据库增值功能,这项服务大多需要额外付费。

mysql 虚拟主机搭建,虚拟机环境部署 mysql 数据库

虚拟机环境自由度更高。可以在VMware、VirtualBox中安装Ubuntu系统,也可以直接采购云服务器,底层都属于虚拟机。以Ubuntu为例,执行apt update更新软件源,再运行apt install mysql-server安装数据库。安装结束执行mysql_secure_installation,会依次询问root密码设置、删除匿名用户、关闭root远程登录、移除测试数据库。全部选择确认,能够规避大量安全隐患。安装完成后执行systemctl status mysql查看运行状态,显示绿色running代表服务正常启动。CentOS、Rocky系统使用dnf install mysql-server,也可以选择安装mariadb-server,命令逻辑相近,服务名称一般为mysqld。

MySQL默认仅监听127.0.0.1地址,只能本机访问。想要宿主机或者其他设备建立连接,修改配置文件即可。Ubuntu系统配置文件路径通常是/etc/mysql/mysql.conf.d/mysqld.cnf,找到bind-address配置项,修改成0.0.0.0,或者在行首添加#注释。修改完毕重启MySQL服务。登录数据库,新建支持远程访问的账号,示例语句CREATE USER 'dev'@'%' IDENTIFIED BY '你的密码';,再执行GRANT ALL ON 你的库.* TO 'dev'@'%';,最后FLUSH PRIVILEGES;。不建议直接启用root账号远程访问,安全风险很高。防火墙放行3306端口,Ubuntu使用ufw allow 3306,云服务器还需要在安全组内新增放行规则,否则外部依旧无法连接。

虚拟机网络模式很容易造成连接故障。NAT模式下虚拟机处于宿主机网络后方,外部无法直接访问,需要在VMware配置端口转发,把宿主机3306端口流量转发到虚拟机3306。桥接模式操作简单,虚拟机获取和宿主机同一网段IP,局域网设备直接使用该IP连接。仅本地开发调试,Host-Only搭配端口转发也能满足需求。很多用户部署MySQL之后无法连接,排查后发现根源是网络模式选择错误或是防火墙拦截。

MySQL8存在一个高频踩坑点。默认认证插件为caching_sha2_password,旧版本Navicat、PHP程序连接时会抛出认证不兼容报错。解决方式是修改用户认证方式,执行命令ALTER USER 'dev'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';,修改后执行FLUSH PRIVILEGES刷新权限。时区异常也是常见问题,程序存储时间相差八小时,可以在配置文件添加default-time-zone='+08:00'。字符集统一设置utf8mb4,能够避免emoji无法存入数据库。

不想手动输入命令的话,可以在虚拟机内部安装宝塔面板或者phpStudy,一键部署MySQL。宝塔安装完成后,浏览器访问面板页面,点击鼠标就能创建数据库与账号,适合不熟悉Linux命令的使用者。不过面板本身占用内存,内存偏小的虚拟机运行起来负载压力较大。虚拟主机环境没有这类选择,面板功能由服务商锁定,无法更换数据库版本,自定义配置基本没有操作空间。

简单区分,虚拟主机的MySQL由服务商维护,使用者只用调用,操作简单但存在各类限制。虚拟机部署MySQL,所有配置项由自己掌控,但安全更新、数据备份、性能调优都需要自行维护。搭建小型博客、企业展示站点,虚拟主机足够支撑业务。业务逻辑复杂,或是需要自定义数据库参数,选择虚拟机自行部署更合适。

免责声明:本文提供的方法与建议仅供技术参考,实际部署效果受机房环境、运营商线路、系统配置等多重因素影响。请在专业人员指导下操作,因自行操作导致的业务损失本站不承担责任。