ubuntu环境搭建专栏点击跳转

Ubuntu系统环境搭建(七)——Ubuntu安装MySQL8.0

文章目录

Ubuntu系统环境搭建(七)——Ubuntu安装MySQL8.01、安装1.1、下载1.2、解压安装

2、配置工作2.1、基本设置2.1.1、文件夹重命名2.1.2、PATH 变量2.1.3、确认安装

2.2、创建用户组、用户2.3、数据目录

3、初始化 & 启动3.1、配置文件3.2、初始化3.3、启动 MySQL3.3.1、启动服务3.3.2、登录

3.4、修改密码

4、远程连接 MySQL4.1、创建远程连接用户

1、安装

1.1、下载

cd /usr/local/

在 /usr/local/ 下执行,下载资源包

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz

1.2、解压安装

tar -Jxvf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz

2、配置工作

2.1、基本设置

2.1.1、文件夹重命名

重命名 MySQL 文件夹

mv mysql-8.0.32-linux-glibc2.12-x86_64 mysql8

2.1.2、PATH 变量

vim /etc/profile

在最下面追加

export PATH=$PATH:/usr/local/mysql8/bin

重载环境变量

source /etc/profile

2.1.3、确认安装

查看版本

mysql --version

有报错就先执行下面的指令

sudo apt-get install libtinfo5

确定 MySQL 安装成功后,可删除压缩包。

rm -rf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz

2.2、创建用户组、用户

注:需要进入 /usr/local

创建用户组:groupadd

groupadd mysql

创建用户:useradd(-r 创建系统用户,-g 指定用户组)

useradd -r -g mysql mysql

2.3、数据目录

创建目录:

mkdir -p /data/mysql8_data

赋予权限:

更改属主和数组

chown -R mysql:mysql /data/mysql8_data

更改模式 只有具有 root 权限的用户和 mysql 用户可以读取、写入和执行

chmod -R 700 /data/mysql8_data

3、初始化 & 启动

3.1、配置文件

在 /usr/local/etc/ 下创建 my.cnf 配置文件用于初始化 MySQL 数据库

vim /usr/local/etc/my.cnf

文件内容如下。

[mysql]

# 默认字符集

default-character-set=utf8mb4

[client]

# 客户端使用的端口号

port=3306

# 客户端连接的 socket 路径

socket=/tmp/mysql.sock

[mysqld]

# 服务端使用的端口号

port=3306

# 服务器 ID

server-id=3306

# MySQL 运行用户

user=mysql

# 日志时间系统时间

log_timestamps=SYSTEM

# 默认时区东八区

default-time_zone='+8:00'

# 服务器连接的 socket 路径

socket=/tmp/mysql.sock

# MySQL 安装目录

basedir=/usr/local/mysql8

# 数据存放目录

datadir=/data/mysql8_data/mysql

# 开启二进制日志功能

log-bin=/data/mysql8_data/mysql/mysql-bin

# InnoDB 数据文件存放目录

innodb_data_home_dir=/data/mysql8_data/mysql

# InnoDB 日志文件存放目录

innodb_log_group_home_dir=/data/mysql8_data/mysql

# MySQL 错误日志文件路径

log-error=/data/mysql8_data/mysql/mysql.log

# 存放 MySQL 进程 ID 的文件路径

pid-file=/data/mysql8_data/mysql/mysql.pid

# 表名大小写不敏感

lower_case_table_names=1

# 服务端字符集

character-set-server=utf8mb4

# 自动提交所有事务

autocommit=1

# 跳过排它锁定

skip-external-locking

# 键缓存大小

key_buffer_size=256M

# 允许的最大数据包大小

max_allowed_packet=1M

# 表缓存

table_open_cache=1024

# 排序缓存大小

sort_buffer_size=4M

# 网络缓冲区长度

net_buffer_length=8K

# 读取缓冲区大小

read_buffer_size=4M

# 随机读取缓冲区大小

read_rnd_buffer_size=512K

# MyISAM 排序缓冲区大小

myisam_sort_buffer_size=64M

# 线程缓存大小

thread_cache_size=128

# 临时表大小

tmp_table_size=128M

# 启用显式默认时间戳

explicit_defaults_for_timestamp=true

# 最大连接数

max_connections=500

# 连接错误最大数量

max_connect_errors=100

# 打开文件限制

open_files_limit=65535

# 二进制日志格式

binlog_format=mixed

# 二进制日志过期时间(秒)

binlog_expire_logs_seconds=864000

# 创建表时使用的默认存储引擎

default_storage_engine=InnoDB

# InnoDB 数据文件路径设置

innodb_data_file_path=ibdata1:10M:autoextend

# InnoDB 缓冲池大小

innodb_buffer_pool_size=1024M

# InnoDB 日志文件大小

innodb_log_file_size=256M

# InnoDB 日志缓冲区大小

innodb_log_buffer_size=8M

# InnoDB 每次提交时刷新日志

innodb_flush_log_at_trx_commit=1

# InnoDB 加锁等待超时时间(秒)

innodb_lock_wait_timeout=50

# 事务隔离级别为读已提交

transaction-isolation=READ-COMMITTED

[mysqldump]

# 快速导出数据

quick

# 允许的最大数据包大小

max_allowed_packet=16M

[myisamchk]

# 键缓存大小

key_buffer_size=256M

# 排序缓冲区大小

sort_buffer_size=4M

# 读取缓冲区大小

read_buffer=2M

# 写入缓冲区大小

write_buffer=2M

[mysqlhotcopy]

# 交互式超时时间

interactive-timeout

3.2、初始化

需要进入 /usr/local/mysql8/bin,若添加了 PATH 变量可忽略。

初始化命令:注意文件夹名称。

--defaults-file:指定配置文件(要放在–initialize 前面)--user: 指定用户--basedir:指定安装目录--datadir:指定初始化数据目录--intialize-insecure:初始化无密码(否则生成随机密码)

mysqld --defaults-file=/usr/local/etc/my.cnf --basedir=/usr/local/mysql8 --datadir=/data/mysql8_data/mysql --user=mysql --initialize-insecure

3.3、启动 MySQL

查看 MySQL 的 /bin 下是否包含 mysqld_safe用于后台安全启动 MySQL

3.3.1、启动服务

安全后台启动 MySQL

# 完整命令

/usr/local/mysql8/bin/mysqld_safe --defaults-file=/usr/local/etc/my.cnf &

# 若添加了PATH变量,可省略如下

mysqld_safe --defaults-file=/usr/local/etc/my.cnf &

确认启动:第二条即 MySQL 服务。

ps -ef|grep mysql

3.3.2、登录

mysql -u root --skip-password

3.4、修改密码

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

设置密码永不过期(本地)

alter user 'root'@'localhost' password expire never;

刷新权限

FLUSH PRIVILEGES;

4、远程连接 MySQL

4.1、创建远程连接用户

选择 mysql 数据库,查看当前用户

USE mysql;

host 字段表示可访问当前数据库的主机,目前仅本地可访问。

SELECT user,host,plugin,authentication_string FROM user;

创建用户

CREATE user 'root'@'%';

设置首次密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

授权用户所有权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

设置密码永不过期(远程)

alter user 'root'@'%' password expire never;

刷新权限

FLUSH PRIVILEGES;

相关文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: