1. 说明
我这使用APT的方式在Ubuntu中安装MySQL8.0,这种安装方式安装的都是最新版,现在是8.22.1,通过这种方式安装好之后,所有服务和环境变量都会启动和配置好,无需手动配置。
由于MySQL和Ubuntu之间的版本适配原因,首先到MySQL官网下载MySQL APT安装配置包,下载地址为:https://dev.mysql.com/downloads/repo/apt/,下载后可直接安装。
我的系统环境:
1 2 3 4 5 6
| # Ubuntu版本 root@mysql:~# cat /etc/issue Ubuntu 20.04.2 LTS \n \l
# MySQL版本 MySQL 8.22.1
|
2. 下载MySQL APT 安装配置包
访问 https://dev.mysql.com/downloads/repo/apt/ 获取配置包下载地址

复制下载链接

这里可以直接下载然后上传到Ubuntu,我这里直接使用wget下载
1
| wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
|
查看下载好的包
1 2
| root@mysql:/data# ls mysql-apt-config_0.8.22-1_all.deb
|
3. 安装MySQL APT配置包
输入以下命令安装
1
| dpkg -i mysql-apt-config_0.8.22-1_all.deb
|
安装过程中出现选择项,通过上下键选择OK继续安装即可。

安装完成之后,如下图所示。

4. 安装MySQL Server
更新APT软件源
安装MySQL Server
1
| apt-get install mysql-server
|

- 输入
y
继续执行,弹出MySQL 8安装对话框,按回车键确定,进入设置root密码的对话框
- 下载速度可能有点慢请耐心等待,可以尝试更换APT数据源,国内的镜像网站有很多,比如阿里云、清华大学镜像等等,至于如何更换,请自行百度。
设置 root 用户密码,这里密码暂时设为 Mysql@123 。

点击OK,再次确认密码

选择身份验证方式、密码加密方式,这里默认的即可。回车 确定

安装完成

MySQL 8安装好之后,会创建如下目录:
1 2 3 4
| 数据库目录:/var/lib/mysql/。 配置文件:/usr/share/mysql-8.0(命令及配置文件),/etc/mysql(如my.cnf)。 相关命令:/usr/bin(mysqladmin、mysqldump等命令)和/usr/sbin。 启动脚本:/etc/init.d/mysql(启动脚本文件mysql的目录)。
|
5. 启动MySQL服务
- 通过以上的APT方式安装好之后,所有的服务、环境变量都会启动和配置好,无须手动配置。
服务器启动后端口查询
1
| netstat -anp | grep mysql
|

服务管理
1 2 3 4 5 6 7 8 9 10 11
| # 查看服务状态 service mysql status
# 停止服务 service mysql stop
# 启动服务 service mysql start
# 重启服务 service mysql restart
|
6. 配置远程连接
MySQL安装后默认只能localhost连接,MySQL8.0打开远程连接的配置如下:
登录MySQL
查询用户权限
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A
Database changed
mysql> select user,host from user; +------------------+-----------+ | user | host | +------------------+-----------+ | mysql.infoschema | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +------------------+-----------+ 4 rows in set (0.00 sec)
|
配置远程连接权限
1 2 3 4 5 6 7 8 9 10 11
| mysql> CREATE USER 'root'@'%' IDENTIFIED BY 'Mysql@123'; Query OK, 0 rows affected (0.02 sec)
mysql> grant all privileges on *.* to 'root'@'%'; Query OK, 0 rows affected (0.01 sec)
mysql> alter user 'root'@'%' identified with mysql_native_password by 'Mysql@123'; Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
|
查询权限
1 2 3 4 5 6 7 8 9 10 11
| mysql> select user,host from user; +------------------+-----------+ | user | host | +------------------+-----------+ | root | % | | mysql.infoschema | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +------------------+-----------+ 5 rows in set (0.00 sec)
|
7. 卸载MySQL
需要完全清理MySQL时,可以完全卸载。
1 2 3 4
| apt purge mysql-* rm -rf /etc/mysql/ /var/lib/mysql apt autoremove apt autoclean
|