mysql
说明
一款开源关系型数据库管理系统 。
下载
yum下载5.7
# 1.安装mysql5.7
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
sudo yum install mysql-server
sudo systemctl start mysqld
sudo systemctl enable mysqld
# 2.修改mysql配置
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p'!CrXw>?4VM:d'
alter user root@localhost identified by 'zW2025@mysql';
grant all privileges on *.* to root@'%' identified by 'zW2025@mysql' WITH GRANT OPTION;
yum remove mysql-server
# 其他
rpm -qa | grep mysql57-community-release # 查询是否安装mysql5.7配置包
sudo rpm -e mysql80-community-release-el7-3.noarch # 卸载现有的rpm仓库docker下载mysql5.7
# 拉镜像
docker pull mysql:5.7
# 创建文件
mkdir -p /mnt/mysql/{log,data,conf}
touch /mnt/mysql/conf/my.cnf #可以没有,配置一些慢查询
# my.cnf
[mysqld]
# 设置数据目录
datadir=/var/lib/mysql
# 设置日志目录
log-error=/var/log/mysql/error.log
slow_query_log=1
slow_query_log_file=/var/log/mysql/slow-query.log
# 创建容器
docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=196691 \
-v /mnt/mysql/log:/var/log/mysql \
-v /mnt/mysql/data:/var/lib/mysql \
-v /mnt/mysql/conf:/etc/mysql/conf \
--restart=always \
mysql:mysql5.7docker下载mysql8.0
# 拉镜像
docker pull mysql:8.0
# 创建文件
mkdir -p /mnt/mysql/{log,data,conf}
touch /mnt/mysql/conf/my.cnf #可以没有,配置一些慢查询
# my.cnf
[mysqld]
# 设置数据目录
datadir=/var/lib/mysql
# 设置日志目录
log-error=/var/log/mysql/error.log
slow_query_log=1
slow_query_log_file=/var/log/mysql/slow-query.log
# MySQL 8.0 新特性配置(可选)
default_authentication_plugin=mysql_native_password
innodb_file_per_table=1
innodb_log_file_size=64M
max_connections=200
# 创建容器
docker run -d \
--name mysql \
--privileged=true \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=196691 \
-v /mnt/mysql/log:/logs \
-v /mnt/mysql/data:/var/lib/mysql \
-v /mnt/mysql/conf:/etc/mysql/conf.d \
mysql:8.0
# 注意挂载路径是:/etc/mysql/conf.d(MySQL 8.0 推荐配置挂载路径)
# 进入容器
docker exec -it mysql /bin/bash
mysql -uroot -p 196691语法
# 连接
mysql -u root -p 123456
# =====================================DDL================================================
# 查看数据库
show databases;
# 创建数据库
create database db1
default character set utf8mb4;
# 删除数据库
drop database db1;
# 使用数据库
use db1;
# 查看表
show tables;
# 查看表结构
desc user;
# 创建表
create table user(
id int primary key auto_increment comment 'id',
username varchar(255) comment '用户名',
password varchar(255) comment '密码'
);
# 新增表字段
alter table user add avatar varchar(255);
# 修改字段类型
alter table user modify avatar varchar(255);
# 修改字段
alter table user change avatar image varchar(255);
# 删除表
drop table user;
# 清空表
truncate table user;
# 重命名表
rename table user1 to user;
# =====================================DML================================================
# 查询
select * from user;
# 新增
insert user (username,password) values ('zouwen','123456');
# 修改
update user set password = 23 where username = 'zouwen';
# 删除
delete from user where username = 'zouwen';
# =====================================DCL================================================
# 创建用户
create user 'dev_user'@'localhost' identified by '123456';
# 授权
grant select ,insert ,update, delete on table_user to 'dev_user'@'localhost';
# 授予管理员所有权限
grant all privileges on *.* to 'root'@'%' identified by '123456';
# 刷新权限
flush privileges;
# 查看用户权限
select user,host ,plugin from mysql.user;配置
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.33</version>
</dependency>
spring:
datasource:
# 必填:数据库驱动类
driver-class-name: com.mysql.cj.jdbc.Driver
# 必填:数据库连接URL(请替换 your_database, localhost, 3306)
url: jdbc:mysql://localhost:3306/your_database?serverTimezone=Asia/Shanghai&characterEncoding=utf8mb4&useSSL=false&allowPublicKeyRetrieval=true
# 必填:数据库用户名
username: root
# 必填:数据库密码
password: your_password
# HikariCP 连接池专属配置(按需调整)
hikari:
# 连接池最大连接数,默认10,可适当调大
maximum-pool-size: 20
# 最小空闲连接数,默认10
minimum-idle: 5
# 连接超时时间(毫秒),默认30000 (30秒)
connection-timeout: 30000
# 空闲连接最大存活时间(毫秒),默认600000 (10分钟)
idle-timeout: 600000
# 连接在池中最大生命周期(毫秒),默认1800000 (30分钟)
max-lifetime: 1800000