VMware 虚拟机环境下的ubuntu 上安装mysql,并能远程访问数据库

需求:为了实现在linux上模拟服务器跑代码,并存储在mysql上,通过远程可视化mysql数据库软件查看linux上mysql数据库数据的实时动态。

1. 虚拟机和ubuntu的安装

这里我选择的是VMware workstation-v14, ubuntu-18.04.1。至于体流程网上很多,就不多说了。

2. mysql的安装

打开终端ctrl + Alt +T,我们可以直接通过sudo 命令实现mysql 的安装。因为我用的ubuntu版本相对老,所以要先更新一下sudo命令

shell 复制代码
sudo apt-get update
sudo apt-get upgrade

中间花了我一上午的时间来更新,所以安装ubuntu尽量选择新一点的版本。。。

然后再输入安装mysql的命令

shell 复制代码
sudo apt-get install mysql-server
sudo apt-get install mysql-client

第一次安装的时候会输入密码和其他确认选项,直接填完事。然后输入命令:

shell 复制代码
systemctl status mysql.service #查看mysql服务是否启起来了

如果出现绿色 active(running) 字样说明mysql服务正常启动

2.1 安装错误1:ERROR 1045 (28000): Access denied for user root@localhost

然后从root用户下进入MySQL,发现进不了,出现这样的错误:

在网上查了一下发现是mysql密码设置问题,反正之前一步步安装时设置的密码也不对,也不知道是咋回事,通过修改mysqld.cnf配置文件来跳过密码验证,输入:

shell 复制代码
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

利用vi在mysqld.cnf文件最后一行添加skip-grant-tables, 保存后退出

再从命令行用sudo mysql -u root -p这里会让输入密码,不用管直接回车就可以进入mysql

然后通过命令修改mysql的密码:

sql 复制代码
use mysql; # 选择数据库
update user set authentication_string="密码" where user='root'; # mysql新版本用authentication_string替代password字段

修改后我们要注释掉mysqld.cnf中添加的skip-grant-tables,保存后退出。再输入

shell 复制代码
mysql -u root -p'密码' 

成功进入

2.2 安装错误2:2003-Can't connect to MySQL server on '虚拟机ip'(10060 "Unknown error")

但是这个时候我们通过本机的naivcat 访问mysql, 发现出现上面的错误,这是没有设置mysql的远程访问,仍然需要编辑mysql.cnf文件。同样输入

shell 复制代码
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

bind-address = 127.0.0.1注释掉,同样保存退出

然后我们进入mysql 授权命令给远程电脑登录数据库:

sql 复制代码
GRANT ALL PRIVILEGeS ON *.* 'root'@'%'IDENTIFIED BY '密码' WITH GRANT OPTION;
flush privilges;

可以通过select 命令查看user表中Host字段中root 一行变成了"%"说明修改成功

退出mysql, 并重启mysql服务:service mysql restart

再linux上通过ifconfig找到ip, 在navicat上输入ip及mysql 的账户和密码。解决了上述的安装错误,成功登录ubuntu中的mysql数据库。

相关推荐
Mr.朱鹏1 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库
摇滚侠1 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 数据库初始化机制 阅读笔记 36
数据库·spring boot·笔记
qiuhaipeng11 小时前
Claude code 升级后上下文长度变短问题
java·前端·数据库
云贝贝贝2 小时前
腾讯云 TDSQL(MySQL 版)运维高频 6 坑:代理路由、读写分离、分片键、监控、PITR
运维·mysql·腾讯云
wxwx_bscxy3222 小时前
基于Python新冠疫情可视化分析系统的设计与实现
java·数据库·spring boot·python·微信小程序·sqlite
剑之所向3 小时前
.NET 官方`System.Threading.Channels`
前端·javascript·数据库
词却4 小时前
数据库基础:DQL 数据查询语言
数据库·oracle
昌原的儿子LEO5 小时前
Linux IO多路复用与SQLite数据库核心知识点总结
linux·数据库·oracle
山岚的运维笔记6 小时前
mysql 专业笔记 -- 第 8 章:使用变量
运维·数据库·笔记·后端·学习·mysql·dba
聚美智数6 小时前
网安查询-备案查询-网络安全查询API接口介绍
网络·数据库·web安全