说明
我这里使用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,我这里直接使用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继续安装即可。
安装完成之后,如下图所示。
安装MySQL Server
更新APT软件源
apt-get update
安装MySQL Server
apt-get install mysql-server
- 输入
y
继续执行,弹出MySQL 8安装对话框,按回车键确定,进入设置root密码的对话框 - 下载速度可能有点慢请耐心等待,可以尝试更换APT数据源,国内的镜像网站有很多,比如阿里云、清华大学镜像等等,至于如何更换,请自行百度。
设置 root 用户密码,这里密码暂时设为 Mysql@123 。
点击OK,再次确认密码
选择身份验证方式、密码加密方式,这里默认的即可。回车 确定
安装完成
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
服务管理
# 查看服务状态
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