CentOS7安装部署MySQL80

CentOS7安装部署MySQL80

一、前言

  • Linux 发行版:CentOS-7-x86_64-DVD-1804.iso
  • MySQL 版本:mysql80-community-release-el7-9

MySQL Yum Repository:https://dev.mysql.com/downloads/repo/yum/

[ContOS] MySQL安装部署:https://blog.csdn.net/u011424614/article/details/94555816

[Windows] MySQL安装部署:https://blog.csdn.net/u011424614/article/details/102466819

CentOS基础操作命令:https://blog.csdn.net/u011424614/article/details/94555916

二、正文

1.安装部署

1)卸载 mariadb

  • 查询 mariadb 版本
rpm -qa | grep mariadb
  • 卸载
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

2)MySQL安装

  • 创建下载目录
mkdir /opt/mysql
cd /opt/mysql
  • 下载 RPM 软件包
wget https://repo.mysql.com//mysql80-community-release-el7-9.noarch.rpm
  • 添加 MySQL 社区版本的软件仓库源
yum -y localinstall mysql80-community-release-el7-9.noarch.rpm
  • 安装软件包
rpm -ivh mysql80-community-release-el7-9.noarch.rpm
  • 安装 mysql-server
yum install mysql-server --nogpgcheck
  • 安装后的目录
  1. 安装目录:/usr/local/mysql
  2. 数据库文件目录,例如表结构和数据:/var/lib/mysql
  3. 日志文件目录:/var/log/mysql
  4. 配置文件目录:/etc/mysql

3)启动

  • 启动服务,并设置开机自启动
#-- 启动服务
systemctl start mysqld

#--开机自启动
systemctl enable mysqld
systemctl daemon-reload

#-- 服务状态
systemctl status mysqld
  • 测试端口
netstat -anp|grep 3306

4)首次登录

  • 查询默认密码
grep "A temporary password" /var/log/mysqld.log
  • 输出密码:sKylT1n07s&h
2023-08-14T09:06:10.533287Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: sKylT1n07s&h
  • MySQL 客户端登录
mysql -uroot -p
  • 修改默认密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root@123456';

2.允许所有主机连接

  • (MySQL 客户端中执行)
use mysql;

#-- 查询 Host 值
SELECT User, Host FROM mysql.user WHERE User = 'root';

#-- Host 修改为 %
update user set host='%' where user='root' and host='localhost';

#-- 刷新权限
flush privileges;

3.修改密码

  • (MySQL 客户端中执行)
ALTER USER 'root'@'%' IDENTIFIED BY 'Root#@123456';

4.my.cnf配置文件

  • 查询 MySQL 存放目录
mysql --help | grep cnf
  • 编辑或新增 my.cnf 配置文件
vim /etc/my.cnf
  • 配置文件内容
[mysqld]
port=3306

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

5.开启binlog

  • 编辑 my.cnf 配置文件
vim /etc/my.cnf
  • [mysqld] 段中写入
[mysqld]

log-bin=mysql-bin
server-id=1
  • 重启服务
systemctl restart mysqld
  • 查询 binlog 文件(MySQL 客户端中执行)
show variables like '%log_bin%';
show master logs;

6.密码校验策略

  • 查询密码校验策略(MySQL 客户端中执行)
SHOW VARIABLES LIKE 'validate_password.%';
  • 输出内容
+-------------------------------------------------+--------+
| Variable_name                                   | Value  |
+-------------------------------------------------+--------+
| validate_password.changed_characters_percentage | 0      |
| validate_password.check_user_name               | ON     |
| validate_password.dictionary_file               |        |
| validate_password.length                        | 8      |
| validate_password.mixed_case_count              | 1      |
| validate_password.number_count                  | 1      |
| validate_password.policy                        | MEDIUM |
| validate_password.special_char_count            | 1      |
+-------------------------------------------------+--------+
8 rows in set (0.01 sec)
  • 修改策略(MySQL 客户端中执行)
#-- validate_password.length 是密码的最小长度,默认是8,改成6
set global validate_password.length=6;

#-- validate_password.policy 验证密码的复杂程度
set global validate_password.policy=0;

#-- validate_password.check_user_name 用户名检查,用户名和密码不能相同,改为关掉
set global validate_password.check_user_name=off;

7.密码过期

  • 查询用户的密码过期情况(MySQL 客户端中执行)
select host,user,password_expired from user;
  • 输出内容:password_expired:Y=密码过期;N=密码未过期
+-----------------------+------+------------------+
| host                  | user | password_expired |
+-----------------------+------+------------------+
| localhost             | root | N                |
| localhost.localdomain | root | Y                |
| 127.0.0.1             | root | Y                |
| ::1                   | root | Y                |
+-----------------------+------+------------------+
4 rows in set (0.00 sec)
  • 修改过期标识(MySQL 客户端中执行)
use mysql;

#-- 修改过期标识
update user set password_expired='N' where user='root';

#-- 刷新权限
flush privileges;

8.表名大小写敏感

  • MySQL 默认大小写规则
Linux:
1. 数据库和表名严格区分大小写;
2. 表的别名严格区分大小写;
3. 列名和列的别名忽略大小写;
4. 变量名严格区分大小写

Windows:
1. 不区分大小写

Mac OS:
1. 不区分大小写
  • 查询大小写规则(MySQL 客户端中执行)
show variables like 'lower%';
  • 输出内容
  • lower_case_file_system:ON=大小写不敏感;OFF=大小写敏感(默认随系统变化)
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| lower_case_file_system | OFF   |
| lower_case_table_names | 0     |
+------------------------+-------+
2 rows in set (0.01 sec)
  • 设置为大小写不敏感
vim /etc/my.cnf
  • [mysqld] 段中写入
[mysqld]

lower_case_table_names=1
  • 重启服务
systemctl restart mysqld

9.最大连接数

解决报错:java.sql.SQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: “Too many connections”

  • 查询最大连接数
show variables like 'max_connections';
  • 输出内容:默认 151
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 151   |
+-----------------+-------+
1 row in set (0.05 sec)
  • 编辑 my.cnf ;修改为 1000
vim /etc/my.cnf
  • [mysqld] 段中写入
max_connections = 1000
  • 重启 MySQL 服务
systemctl restart mysqld

10.导入数据

  • 创建数据库(MySQL 客户端中执行)
CREATE DATABASE nacos_config;
use nacos_config;
  • 运行 SQL 文件
source /opt/nacos/conf/mysql-schema.sql;
  • 查询表
SHOW TABLES;

11.查询版本信息

  • 查询 MySQL 版本信息(MySQL 客户端中执行)
select version() from dual;
  • 输出内容
+-----------+
| version() |
+-----------+
| 8.0.34    |
+-----------+

12.常用命令

功能命令
systemctl start mysqld启动服务
systemctl enable mysqld开机自启动
systemctl status mysqld服务状态
systemctl restart mysqld重启服务
systemctl stop mysqld停止服务
mysql -uroot -p客户端登录
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是CentOS安装Docker部署MySQL的步骤: 1. 安装Docker和Docker Compose 在终端中输入以下命令: ``` sudo yum update sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum update sudo yum install -y docker-ce docker-ce-cli containerd.io sudo systemctl start docker sudo systemctl enable docker ``` 然后安装Docker Compose: ``` sudo yum install -y epel-release sudo yum install -y python-pip sudo pip install docker-compose ``` 2. 创建Docker Compose文件 在任意目录创建一个名为docker-compose.yml的文件,然后将以下代码复制进去: ``` version: '3' services: mysql: image: mysql:5.7 restart: always environment: MYSQL_ROOT_PASSWORD: your_password MYSQL_DATABASE: your_database_name MYSQL_USER: your_username MYSQL_PASSWORD: your_password ports: - "3306:3306" volumes: - ./mysql:/var/lib/mysql ``` 请注意将your_password、your_database_name和your_username替换为您自己的密码、数据库名称和用户名。 3. 启动MySQL容器 在终端中进入docker-compose.yml文件所在的目录,然后运行以下命令: ``` sudo docker-compose up -d ``` 这将启动MySQL容器并将其设置为在后台运行。 4. 连接MySQL 现在您可以使用MySQL客户端连接到MySQL容器。在终端中输入以下命令: ``` mysql -h 127.0.0.1 -u your_username -p ``` 输入您的密码,然后就可以连接到MySQL了。 以上就是CentOS安装Docker部署MySQL的步骤,希望对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

趴着喝可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值