1. ubuntu安装mysql

环境:VMware15.5.1 + ubuntu server 20.10

  1. 使用apt安装
sudo apt update
sudo apt install mysql-server -y

通过apt安装十分简单,但是安装的是5.7 不是最新的。

  1. 安装最新版的mysql

从mysql的官网下载,对应版本的 apt 配置程序。下载后上传到服务器(也就是虚拟机)

mysql 虚拟地址配置 mysql在虚拟机上安装教程_IP

执行安装命令:

dpkg -i mysql-apt-config_0.8.16-1_all.deb

出现界面:

mysql 虚拟地址配置 mysql在虚拟机上安装教程_重启_02

然后执行:

sudo apt update
apt install mysql-server

mysql 虚拟地址配置 mysql在虚拟机上安装教程_mysql 虚拟地址配置_03

设置root账户的密码。

完成后登陆mysql,可以发现安装的就是最新版。

mysql 虚拟地址配置 mysql在虚拟机上安装教程_重启_04

2. 启动和停止mysql

启动: service mysql start

停止:service mysql stop

重启:service mysql restart

查看状态:service mysql status

mysql 虚拟地址配置 mysql在虚拟机上安装教程_IP_05

3. 卸载mysql

sudo apt purge mysql-server # 卸载mysql
sudo apt autoremove  # 清除依赖

4. navicat远程连接mysql

  1. 添加用户
    因为默认的用户 host 都是 localhost ,表示只能本地登录,所以要先创建一个可以有 远程主机登录的账户.
    首先,在电脑上通过 ipconfig 命令,查看在vmware虚拟网络中 自己电脑 的IP地址(如图):
-- 创建一个用户名为mochen密码为123456允许192.168.65.1登录的用户
create user 'mochen'@'192.168.65.1' identified by ‘123456’;
  1. 为用户添加权限
grant all on *.* to 'mochen'@'192.168.65.1';

这里为mochen用户开启了所有权限。

  1. navicat创建连接
    首先,查看虚拟机的IP地址,在虚拟机中使用 指令 ifconfig

使用获得的IP地址创建连接:

mysql 虚拟地址配置 mysql在虚拟机上安装教程_mysql 虚拟地址配置_06

  1. 解决连接特别慢的问题
    这时候点击MySQL_VM打开连接 是非常慢的。

百度后得知原因:

默认安装的MYSQL开启了DNS的反向解析。域名解析也可以导致网络程序慢,MySQL在处理新的线程连接请求时,会尝试进行DNS解析,如果在host cache和Hosts里找不到,处理起来就会很慢,一般来说数据库服务器为安全起见是不能连接到外网的,所以dns解析也没办法完成,这就可以解释为什么这么慢了,可以在mysql的配置文件中, 禁用该反向解析功能。

  1. 所以解决方法就是关闭域名解析,网上给的方法是:修改mysqld的配置,即在 my.cnf中[mysqld] 下添加一行:skip-name-resolve
    然而各个版本的配置文件位置有很大的不同,我的mysql版本为:8.0.22 其服务器配置文件在:/etc/mysql/mysql.conf.d/mysqld.cnf 在其中的[mysqld]下加入 skip-name-resolve 即可。

保存后,重启mysql即可。

5. 删除账户

在ubuntu的mysql上以root身份登陆,通过 drop user ''userName@‘host’; 删除用户,发现会报错:

mysql 虚拟地址配置 mysql在虚拟机上安装教程_IP_07

根据提示可知,是因为默认的root账户并没有SYSTEM_USER权限。

所以,需要先给root赋予SYSTEM_USER权限:

grant SYSTEM_USER on *.* to 'root'@'localhost';
-- 或者 赋予 root 全部权限
grant all on *.* to 'root'@'localhost';

然后才能通过 drop user 语句删除用户。