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)部署笔记

【完】

相关推荐
wuqingshun3141593 小时前
MYSQL默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
hengcaib4 小时前
防封号电销外包公司怎么选合规线路与风控核查方法
笔记
这个DBA有点耶6 小时前
导个数据中文全变问号?字符集这事儿真没那么简单
数据库·mysql·代码规范
wuqingshun3141596 小时前
MYSQL中如果发生死锁应该如何解决?
数据库·mysql
六点_dn7 小时前
Linux学习笔记-shell运算符
linux·笔记·学习
降临-max8 小时前
软件测试基础---项目实战
软件测试·笔记·功能测试·测试用例
是上好佳佳佳呀8 小时前
MySQL 基础:从数据库概念到表结构管理DDL
数据库·mysql
鱼子星_9 小时前
【C++】内存管理:内存分布,new/delete的使用及细节处理,new/delete的底层,定位new表达式
开发语言·c++·笔记
愚昧之山绝望之谷开悟之坡9 小时前
回购逆回购
笔记
鱼子星_9 小时前
【C++】string(上):string的基本使用
c++·笔记·字符串