1. ubuntu安装mysql
环境:VMware15.5.1 + ubuntu server 20.10
- 使用apt安装
sudo apt update
sudo apt install mysql-server -y
通过apt安装十分简单,但是安装的是5.7 不是最新的。
- 安装最新版的mysql
从mysql的官网下载,对应版本的 apt 配置程序。下载后上传到服务器(也就是虚拟机)
执行安装命令:
dpkg -i mysql-apt-config_0.8.16-1_all.deb
出现界面:
然后执行:
sudo apt update
apt install mysql-server
设置root账户的密码。
完成后登陆mysql,可以发现安装的就是最新版。
2. 启动和停止mysql
启动: service mysql start
停止:service mysql stop
重启:service mysql restart
查看状态:service mysql status
3. 卸载mysql
sudo apt purge mysql-server # 卸载mysql
sudo apt autoremove # 清除依赖
4. navicat远程连接mysql
- 添加用户
因为默认的用户 host 都是 localhost ,表示只能本地登录,所以要先创建一个可以有 远程主机登录的账户.
首先,在电脑上通过 ipconfig 命令,查看在vmware虚拟网络中 自己电脑 的IP地址(如图):
-- 创建一个用户名为mochen密码为123456允许192.168.65.1登录的用户
create user 'mochen'@'192.168.65.1' identified by ‘123456’;
- 为用户添加权限
grant all on *.* to 'mochen'@'192.168.65.1';
这里为mochen用户开启了所有权限。
- navicat创建连接
首先,查看虚拟机的IP地址,在虚拟机中使用 指令 ifconfig
使用获得的IP地址创建连接:
- 解决连接特别慢的问题
这时候点击MySQL_VM打开连接 是非常慢的。
百度后得知原因:
默认安装的MYSQL开启了DNS的反向解析。域名解析也可以导致网络程序慢,MySQL在处理新的线程连接请求时,会尝试进行DNS解析,如果在host cache和Hosts里找不到,处理起来就会很慢,一般来说数据库服务器为安全起见是不能连接到外网的,所以dns解析也没办法完成,这就可以解释为什么这么慢了,可以在mysql的配置文件中, 禁用该反向解析功能。
- 所以解决方法就是关闭域名解析,网上给的方法是:修改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’; 删除用户,发现会报错:
根据提示可知,是因为默认的root账户并没有SYSTEM_USER权限。
所以,需要先给root赋予SYSTEM_USER权限:
grant SYSTEM_USER on *.* to 'root'@'localhost';
-- 或者 赋予 root 全部权限
grant all on *.* to 'root'@'localhost';
然后才能通过 drop user 语句删除用户。