服务器安装mysql数据库
【摘要】 服务器安装mysql数据库
服务器安装mysql数据库
环境搭建
接下来我们在服务器上安装mysql数据库,这里需要我们输入服务器密码
# 更新包列表
sudo apt update
# 安装 MySQL 服务器
// 安装 MySQL 8.0(Ubuntu 默认源即提供 MySQL 8.0)
sudo apt install mysql-server -y
# 安装过程中可能会提示输入服务器密码
# 确认 MySQL 版本
mysql --version
MYSQl数据库安全配置
调整 MySQL 服务器的安全性
# 安全配置(可选但推荐)
sudo mysql_secure_installation
测试可以都选n
按照提示配置:
是否启用强密码 // y
设置 root 密码 // Le@1996#Lin
移除匿名用户
禁止远程 root 登录(可选)
删除测试数据库
重新加载权限表
登录 MySQL
sudo mysql -u root -p
输入密码即可
配置远程访问(可选)
配置 MySQL 允许本地连接:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
配置信息
[mysqld]
# 确保绑定到本地
bind-address = 127.0.0.1
# 设置端口
port = 3306
# 设置字符集
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
修改mysql数据库配置
[mysqld]
# 注释掉原来的 bind-address 或改为 0.0.0.0
# bind-address = 127.0.0.1
bind-address = 0.0.0.0
port = 3306
重启服务,登录mysql创建远程连接用户
// 重启mysql服务
sudo systemctl restart mysql
// 登录
sudo mysql -u root -p
// 密码
123456
-- 创建远程用户(% 表示允许任何IP连接)
CREATE USER '账号'@'%' IDENTIFIED BY '密码';
-- 授予权限
GRANT ALL PRIVILEGES ON *.* TO '密码'@'%' WITH GRANT OPTION;
-- 或者只授权特定数据库(跳过)
-- GRANT ALL PRIVILEGES ON your_database.* TO 'remote_user'@'%';
-- 刷新权限
FLUSH PRIVILEGES;
-- 查看用户
SELECT User, Host FROM mysql.user;
-- 退出
EXIT;
// 重启 MySQL
sudo systemctl restart mysql
// 设置开机自启(默认应已设置)
sudo systemctl enable mysql
4、navicat远程mysql数据库
切记:一定要保证我们的服务器已经添加了我们的端口3306
服务器允许我们远程连接
# 开放 3306 端口
sudo ufw allow 3306
# 或者只允许特定IP访问(更安全)
sudo ufw allow from 你的本地IP to any port 3306
# 查看防火墙状态
sudo ufw status
远程连接
本地远程mysql数据库,我使用的是navicat工具,这里直接输入我们的信息
连接名:远程服务器,随便起名字
主机:服务器IP
用户名:上面设置的
密码:上面设置的

测试一下,服务器的数据库已经连接成功了
数据库连接测试
新建一个数据库,这里我的名称是nexus
数据库名:nexus
字符集:utf8mb3
排序规则:utf8mb3_bin
新建一个表
DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user` (
`user_id` int(0) NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '姓名',
`age` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '年龄',
`sex` int(0) NULL DEFAULT NULL COMMENT '用户性别 1男 2女 ',
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`address` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '用户的地址',
`state` tinyint(0) NULL DEFAULT NULL COMMENT '1 正常 0 2 禁用',
`phone` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '手机号',
`username` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '用户的登录账号',
`password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT '123456' COMMENT '用户的登录密码',
`avatar` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '头像地址',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`user_height` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '身高',
`user_weight` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '体重',
`disease` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '健康状况,是否有疾病',
PRIMARY KEY (`user_id`, `password`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 55 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;
本地运行项目测试
这里我们现在就本地启动项目连接我们服务器,然后进行测试,这里我以开源的Node项目为例,主要修改四个参数
const dbhost='xx'; // 数据库主机地址,如果是本地数据库则使用localhost
const dbdatabase='xx'; // 数据库名称
const dbuser='xx'; // 数据库用户名
const dbpassword='xxx'; // 数据库密码
本地测试一下,我们的线上数据库已经可以使用了
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)