本地机器虚拟机装mysql并连接
时间:2023-07-15 23:42:02 | 来源:网站运营
时间:2023-07-15 23:42:02 来源:网站运营
本地机器虚拟机装mysql并连接:最近女朋友金融专业找实习,发现大多公司要求会sql,就寻找我的帮助。由于怕安装sql导致电脑出现乱七八糟的问题,我就想给他安装虚拟机,虚拟机里安装Ubuntu,里边运行mysql作为服务器,使用时本地主机远程连接过去,等不用了虚拟机一关也没有烦恼。想法很简单,但执行起来发现还是有很多问题的,本文就安装顺序来一步一步记录整个过程,并给出一些注意事项和坑点。
安装VMware、Ubuntu
这个部分没有坑点,搜索引擎搜一下,下载安装就好了,注册激活我也帮不上忙。我的版本是vmware 15.0,Ubuntu 20.04stl。
虚拟机安装Ubuntu
直接导入ISO安装包就好了,VMware会自动识别。
这里的问题是,Ubuntu安装过程中会自动下载语言包和各种程序包,但由于网络问题,很慢。可以在进度条右上角找到skip按钮,跳过。
Ubuntu换源
由于众所周知的原因,我们访问网络的速度不快,所以需要换一下软件源。本站内搜索Ubuntu换源就可以解决。给个参考连接 舟公:Ubuntu20.04软件源更换。
安装mysql
sudo apt-get install mysql
换源了肯定非常快,直到目前一切顺利,安装的版本是mysql 8.0。
登录mysql
第一个坑点来了,登录账号和密码是多少呢?经过查询,apt-get安装的mysql会给一个自带的用户名和随机生成的密码,具体使用以下命令进行查看。参考链接[1]
sudo cat /etc/mysql/debian.cnf
输入后可以看到几行代码,具体需要的是以下两行
user = debian-sys-maintpassword = 24j7HYTEqgPv0Ozg
其中密码这个是随机生成的,每个人都不一样,需要自行查看。
然后就可以用该用户密码登录了
mysql -u debian-sys-maint -p
创建用户,修改权限
显然我们不能用这个初始的用户和密码,太长记不住。既然用来学习,我用户名root和密码123456不过分吧。但这里边还有好几个坑,我慢慢来说。参考链接[2]
- 用户远程连接权限。一般用户的连接权限是localhost的,也就是说在虚拟机内部用命令行可以登录,但出了虚拟机用别的计算机远程登录就失败。
- 用户认证方式。这个可能跟我选的可视化软件有关,女朋友学习sql用的可视化软件是sqlyog。mysql8.0采用‘caching_sha2_password’的方式来认证密码,但软件不支持,需要换回以前的'mysql_native_password'方式。
1. 修改用户远程连接权限
use mysql;update user set host='%' where user='root';
因为我用的是root用户,已经存在了,所以能直接修改。其中%就代表远程连接权限的意思。
如果是新建的话,要使用以下命令:
create user '用户名'@'%' identified by '密码';
2. 修改用户认证方式
use mysql;alter user '用户名'@'%' identified with mysql_native_password by '密码';
对root修改密码也可以在这一步进行。
修改完成后用以下命令刷新修改起效。
flush privileges;
仍然不能连接
权限也给了,密码也对了,按理来说可以在本机连接成功了,但实际上还不可以。 经查阅资料发现,需要修改mysql的绑定地址。具体来说是注释 /etc/mysql/mysql.conf.d/mysqld.cnf 中的 bind-adress 127.0.0.1。参考链接[3]
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf#不会vi也没事,一共就几步操作#1. 直接按下 /bind-adress这些键,光标定位到对应位置,按回车#2. 按i进入编辑模式,在行首输入一个##3. 按esc键,然后按 :wq!这些键并回车。#随后重启mysql服务service mysql restart
到此为止,已经能够在本地电脑连接到虚拟机内的mysql了。虽然这些东西网上都能找到,但比较零散,我就顺手给整理了以下。
参考连接
[1]. Ubuntu apt 安装MySQL的用户名和密码
[2]. mysql添加远程用户并授权_m1f2c3的专栏-CSDN博客_mysql创建用户并授权
[3]. 连接虚拟机中的MySQL数据库_txl13109187932的博客-CSDN博客
[4].
https://zhuanlan.zhihu.com/p/142014944