MySQL 8(Ubuntu 18.04.6 LTS)安装笔记

一、前言

其实之前已经写过一篇笔记【MySQL 8.0.34(x64)安装笔记】。机缘巧合,这次遇到的环境是Ubuntu 18.04 LTS,相比Windows平台的安装,对mysql的版本以及依赖的选择,稍微要窄一些。特作笔记。

二、准备
(1)材料选择
版本选择
MySQL 8.0.33是支持Ubnuntu 18.04最后的版本(发布时间:2023-03-17)
libaio MySQL依赖:异步I/O库,libaio1_0.3.112-5_amd64(发布时间:2019-08-16)
libmecab2 MySQL依赖:分词处理库,libmecab2_0.996-5_amd64(发布时间:2018-2-7)

对于依赖 libaio 和 libmecab2 的版本选择有多个版本,作者本着发布时间尽量不要相差太多的原则,尽量选择较新版本。

具体版本列表见附录(1)~(3)。

(2)材料清单
文件 备注
libaio libaio1_0.3.112-5_amd64.deb 直接安装
libmecab2 libmecab2_0.996-5_amd64.deb 直接安装
MySQL mysql-server_8.0.33-1ubuntu18.04_amd64.deb-bundle.tar 需先解压再安装

插一句,.deb 是 Ubuntu 所支持的安装文件,mysql 的 tar 文件解压后其中也全部是 .deb 文件。

三、过程
(1)解压mysql安装包.tar
bash 复制代码
tar -xvf mysql-server_8.0.33-1ubuntu18.04_amd64.deb-bundle.tar
(2)创建安装脚本
bash 复制代码
#!/bin/bash
dpkg -i libaio1_0.3.112-5_amd64.deb
dpkg -i libmecab2_0.996-5_amd64.deb
#
dpkg -i mysql-common_8.0.33-1ubuntu18.04_amd64.deb
dpkg -i mysql-community-client-plugins_8.0.33-1ubuntu18.04_amd64.deb
dpkg -i libmysqlclient21_8.0.33-1ubuntu18.04_amd64.deb
dpkg -i libmysqlclient-dev_8.0.33-1ubuntu18.04_amd64.deb
dpkg -i mysql-community-client-core_8.0.33-1ubuntu18.04_amd64.deb
dpkg -i mysql-community-client_8.0.33-1ubuntu18.04_amd64.deb
dpkg -i mysql-client_8.0.33-1ubuntu18.04_amd64.deb
dpkg -i mysql-community-server-core_8.0.33-1ubuntu18.04_amd64.deb
dpkg -i mysql-community-server_8.0.33-1ubuntu18.04_amd64.deb
dpkg -i mysql-server_8.0.33-1ubuntu18.04_amd64.deb

注意 :安装组件存在依赖,请务必保证安装顺序。

(3)执行安装脚本

如果没有意外,mysql会自动安装。其间会弹出设置root的密码以及选择账户验证方式,见附录(4)和(5)。

(4)启动 mysql 服务
bash 复制代码
systemctl start mysql
(5)验证服务是否启动
bash 复制代码
ps aux | grep mysql 

或使用客户端工具登录

bash 复制代码
mysql -u root -p 

自此,安装完成。至于安装目录,见附录(6)。

四、后续及设置
(1)创建数据库
bash 复制代码
mysql -u root -p 
sql 复制代码
show databases;
CREATE DATABASE `testdb` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';
(2)修改服务系统变量

① 查看并设置变量 sql_mode

sql 复制代码
use mysql;
show VARIABLES LIKE '%sql_mode';

剔除 sql_mode 中的 ONLY_FULL_GROUP_BY:

bash 复制代码
vim /etc/mysql/mysql.conf.d/mysqld.cnf

在文件尾部添加:

sql-mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE。。

注意:变量名为 sql_mode,但在配置文件中的配置项是 sql-mode。

具体参见文档:http://dev.mysql.com/doc/mysql/en/server-system-variables.html。

注意:修改配置后,需重启 mysql 服务后再查看变量是否更新。

bash 复制代码
systemctl restart mysql
(3)允许远程主机连接
sql 复制代码
use mysql; # 选择系统库mysql
SELECT host FROM user WHERE user = 'root'; # 查看允许主机
UPDATE user SET host = '%' WHERE user = 'root';
flush privileges; # 提交权限
SELECT host FROM user WHERE user='root'; # 验证查看
exit # 退出命令行工具
附录
(1)选择MySQL版本

下载位置:https://downloads.mysql.com/archives/community/。

(2)选择依赖libaio库

位置:https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/liba/libaio/。

备选位置:https://archive.ubuntu.com/ubuntu/pool/main/liba/libaio/。

(3)选择依赖libmecab2库

位置:https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/universe/m/mecab/。

备选位置:https://archive.ubuntu.com/ubuntu/pool/universe/m/mecab/。

(4)设置root密码的对话框
(5)设置密码验证策略
(6)MySQL安装目录
目录 内容
/etc/mysql/ 配置文件
/usr/bin/ mysql客户端工具,如:mysql,mysqlcheck,mysqladmin。。
/usr/sbin/ mysqld,mysql服务守护进程
/usr/lib/mysql/ 插件和库文件
/var/lib/mysql/ 数据内容
/var/log/mysql/ 日志文件
相关文章

[1]. MySQL 8.0.34(x64)安装笔记

[2]. JDK(Ubuntu 18.04.6 LTS)安装笔记

[3]. Tomcat Web应用(Ubuntu 18.04.6 LTS)部署笔记

【完】

相关推荐
风吹落叶花飘荡10 分钟前
Ubuntu系统 系统盘和数据盘扩容具体操作
linux·运维·ubuntu
使二颗心免于哀伤28 分钟前
《设计模式之禅》笔记摘录 - 10.装饰模式
笔记·设计模式
悠哉悠哉愿意43 分钟前
【电赛学习笔记】MaxiCAM 项目实践——与单片机的串口通信
笔记·python·单片机·嵌入式硬件·学习·视觉检测
岩中竹2 小时前
广东省省考备考——常识:科技常识(持续更新)
笔记
Olrookie2 小时前
若依前后端分离版学习笔记(三)——表结构介绍
笔记·后端·mysql
贾斯汀玛尔斯3 小时前
ubuntu/centos系统ping 不通域名的解决方案
linux·ubuntu·centos
rannn_1113 小时前
Java学习|黑马笔记|Day23】网络编程、反射、动态代理
java·笔记·后端·学习
UQWRJ3 小时前
菜鸟教程 R语言基础运算 注释 和数据类型
笔记
Lemon程序馆4 小时前
今天聊聊 Mysql 的那些“锁”事!
后端·mysql
陪我一起学编程5 小时前
MySQL创建普通用户并为其分配相关权限的操作步骤
开发语言·数据库·后端·mysql·oracle