首页 > 数据库 >Ubuntu 20.04 安装部署 MySQL 8.0

Ubuntu 20.04 安装部署 MySQL 8.0

时间:2022-11-13 22:03:56浏览次数:61  
标签:8.0 -- MySQL Ubuntu systemctl usr mysql local

1. 规划

官网:MySQL 社区官网,下载包需要创建oracle账户,本地使用的是Linux 通用的二进制包mysql-8.0.31-linux-glibc2.12-x86_64.tar md5:89e902edeb75216c366e878f3c9e85be

hostname IP address 系统版本
db01 192.168.80.100 Ubuntu 20.04.5

2. MySQL 8.0.x安装过程

2.1 安装准备

groupadd mysql
useradd -r -g mysql -s /bin/false mysql # 用户不登录
# 数量路径
mkdir -p /data/mysql/data_3306
# 日志路径
mkdir -p /data/mysql/binlog_3306
cd /usr/local && xz -dc mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz | tar x
ln -s mysql-8.0.31-linux-glibc2.12-x86_64 mysql
# 环境变量
vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile
# 安装依赖
apt-get install libtinfo5

which mysql
/usr/local/mysql/bin/mysql
# 授权
chown -R mysql.mysql /data/ /usr/local/mysql/

2.2 初始化

apt-get install libaio-dev
# 初始化数据库
mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data_3306
# 创建临时配置文件
cat > /etc/my.cnf <<EOF 
[mysqld]
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql/data_3306
socket=/tmp/mysql.sock
server_id=6
log_bin=/data/mysql/binlog_3306
port=3306
[mysql]
socket=/tmp/mysql.sock
EOF

--initialize-insecure:不安全的 , 没有密码,没有密码策略

--initialize:安全的模式,没次初始化完成都会生成临时密码,只能登陆数据库,需要人为修改后才能正常管理数据库。

2.3 准备启动文件

cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysql
cat > /usr/lib/systemd/system/mysql.service <<EOF
#内容如下:
[Unit]
Description=MySQL
SourcePath=/etc/init.d/mysql
Before=shutdown.target

[Service]
User=mysql
Type=forking
TimeoutSec=0
PermissionsStartOnly=true
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --user=mysql --daemonize
ExecStop=/etc/init.d/mysql stop
LimitNOFILE = 65535
Restart=on-failure
RestartSec=10
RestartPreventExitStatus=1
PrivateTmp=false

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl start mysql.service

几个systemctl常用的命令:

# 列出所有可用单元
systemctl list-unit-files

# 从可用单元中查看是否有mysql
systemctl list-unit-files | grep mysql

# 启动mysql服务
systemctl start mysql.service

# 查看mysql服务状态active即为启动状态,inactive是非启动状态
systemctl status mysql.service


# 重启mysql服务
systemctl restart mysql.service

# 停止mysql服务
systemctl stop mysql.service

附录:

# 设置密码
mysql
use mysql;
alter user 'root'@'localhost' identified by '123456';
flush privileges;
#退出重新登录
mysql -uroot -p123456

 

标签:8.0,--,MySQL,Ubuntu,systemctl,usr,mysql,local
From: https://www.cnblogs.com/Mercury-linux/p/16887100.html

相关文章

  • MySQL优化
    一、       MySQL数据库-SQL优化MySQLDBMS-MySQLDatabaseManagementSystem。数据库管理系统。1       结构图   2       MySQL......
  • 使用MySQL时出现The server time zone value '�й���׼ʱ��' is unrecogni的解决方法
    问题:Causedby:com.mysql.cj.exceptions.InvalidConnectionAttributeException:Theservertimezonevalue'�й���׼ʱ��'isunrecognizedorrepresentsmorethanoneti......
  • commands for use VIM in ubuntu
    Usevimxx.yytoopenafilefirstly.Theninputi,youcaninsertnewtextintheopenedfile.Whenyouwanttoendtheinput,youfirstlyclickEscbottom,t......
  • MySQL数据库连接参数
    数据库连接参数driver-class-name:com.mysql.cj.jdbc.Driver//&serverTimezone=GMT%2B8连接使用的时区,一般是MySQL8+版本使用的url:jdbc:mysql://localhost:3306/......
  • ubuntu install rapidjson
    1.Installsudoapt-getinstallrapidjson-dev2.Code#include<algorithm>#include<chrono>#include<ctime>#include<fstream>#include<iostream>#include......
  • MySQL
     MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据......
  • Centos7 Mysql 双机热备实现数据库高可用
    mysql双主热备,也称主主互备,目的是mysql数据库高可用,只支持双机,原因是mysql的复制是一主多从,但一个从服务器只能有一个主服务器。双机热备的条件是双机mysql版本必须一致。服......
  • MySQL 联合索引、复合索引
    复合索引也叫联合索引,经常使用,遇到问题,可以看下这3篇文章:1. https://www.jb51.net/article/229580.htm2.https://blog.csdn.net/CSDN_LGY_Java/article/details/11159......
  • ubuntu install jsoncpp and demos,StyledWriter,FastWriter,Reader,parse
    1.Installsudoapt-getinstalllibjsoncpp-dev2.Addusingheader.#include<jsoncpp/json/json.h>3.Use#include<algorithm>#include<chrono>#include<ct......
  • mysql 索引优化 explain,复合索引,联合索引
    本节是关于MySQL的复合索引相关的知识,两个或更多个列上的索引被称作复合索引,本文主要介绍了mysql联合索引生效的条件及失效的条件,感兴趣的可以了解一下:必须用实例说话:先......