Ubuntu安装MySQL8.0

说明

我这里使用APT的方式在Ubuntu中安装MySQL8.0,这种安装方式安装的都是最新版,现在是8.22.1,通过这种方式安装好之后,所有服务和环境变量都会启动和配置好,无需手动配置。

由于MySQL和Ubuntu之间的版本适配原因,首先到MySQL官网下载MySQL APT安装配置包,下载地址为:https://dev.mysql.com/downloads/repo/apt/, 下载后可直接安装。

我的系统环境:

# Ubuntu版本
root@mysql:~# cat /etc/issue
Ubuntu 20.04.2 LTS \n \l

# MySQL版本
MySQL 8.22.1

下载MySQL APT 安装配置包

访问 https://dev.mysql.com/downloads/repo/apt/ 获取配置包下载地址

Ubuntu安装MySQL8.0

复制下载链接

Ubuntu安装MySQL8.0

这里可以直接下载然后上传到Ubuntu,我这里直接使用wget下载

wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb

查看下载好的包

root@mysql:/data# ls
mysql-apt-config_0.8.22-1_all.deb

安装MySQL APT配置包

输入以下命令安装

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

安装过程中出现选择项,通过上下键选择OK继续安装即可。

Ubuntu安装MySQL8.0

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

Ubuntu安装MySQL8.0

安装MySQL Server

更新APT软件源

apt-get update

安装MySQL Server

apt-get install mysql-server

Ubuntu安装MySQL8.0

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

设置 root 用户密码,这里密码暂时设为 Mysql@123

Ubuntu安装MySQL8.0

点击OK,再次确认密码

Ubuntu安装MySQL8.0

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

Ubuntu安装MySQL8.0

安装完成

Ubuntu安装MySQL8.0

MySQL 8安装好之后,会创建如下目录:

数据库目录:/var/lib/mysql/。
配置文件:/usr/share/mysql-8.0(命令及配置文件),/etc/mysql(如my.cnf)。
相关命令:/usr/bin(mysqladmin、mysqldump等命令)和/usr/sbin。
启动脚本:/etc/init.d/mysql(启动脚本文件mysql的目录)。

启动MySQL服务

  • 通过以上的APT方式安装好之后,所有的服务、环境变量都会启动和配置好,无须手动配置。

服务器启动后端口查询

netstat -anp | grep mysql

Ubuntu安装MySQL8.0

服务管理

# 查看服务状态
service mysql status

# 停止服务
service mysql stop

# 启动服务
service mysql start

# 重启服务
service mysql restart

配置远程连接

MySQL安装后默认只能localhost连接,MySQL8.0打开远程连接的配置如下:

登录MySQL

mysql -uroot -p

查询用户权限

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)

配置远程连接权限

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)

查询权限

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)

卸载MySQL

需要完全清理MySQL时,可以完全卸载。

apt purge mysql-*
rm -rf /etc/mysql/ /var/lib/mysql
apt autoremove
apt autoclean
上一篇:nginx实现反向代理


下一篇:redis启动报无权限