Mysql安装(centos)

Mysql概述

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低。

版本区别

版本说明
MySQL Community Server 社区版本开源免费,但不提供官方技术支持
MySQL Enterprise Edition 企业版本需付费,可以试用30天
MySQL Cluster 集群版开源免费。可将几个MySQL Server封装成一个Server
MySQL Cluster CGE 高级集群版需付费
MySQL Workbench(GUITOOL)一款专为MySQL设计的ER/数据库建模工具

Mysql官网:点击访问
Mysql下载:点击访问

社区版安装(5.7.30)

二进制安装

删除默认Mariadb(避免冲突)

rpm -qa |grep mariadb
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps

下载安装包

wget  https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz
tar zxf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz  -C /data/
mv mysql-5.7.30-linux-glibc2.12-x86_64  mysql

创建所需目录

mkdir /data/mysql/{etc,binlog,logs,data}

创建mysql用户并授权

groupadd -r mysql&&useradd -M -r -s  /sbin/nologin -g mysql mysql
chown -R mysql:mysql /data/mysql

设置环境变量

echo "PATH=$PATH:/data/mysql/bin" >>/etc/profile   #建议在vi下修改,防止>>写成>导致环境变量出问题
source /etc/profile

创建配置文件

vim /etc/my.cnf
[mysqld]
basedir=/data/mysql
datadir=/data/mysql/data
pid-file=/data/mysql/mysqld.pid
socket=/tmp/mysql.sock
max_connections = 1500
log-error=/data/mysql/logs/mysql.err
#rpl_semi_sync_master_enabled = 1
#rpl_semi_sync_master_timeout = 10000
#rpl_semi_sync_slave_enabled = 1
character-set-server=utf8mb4
server-id=2
#二进制日志
log-bin=/data/mysql/binlog/mysql-bin
#binlog_format = mixed
expire_logs_days = 10
#中继日志
relay-log=relay-bin
relay_log_purge=0
read_only=1
relay-log-index=slave1-relay-bin.index
#慢日志
slow_query_log = 1
slow_query_log_file = /data/mysql/logs/slow_query.log
long_query_time = 1
#跳过主从错误
#slave_skip_errors = 1062,1032
#slave_skip_errors = 1032
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
#设置mysql客户端连接服务端时默认使用的端口
port=3306
socket=/tmp/mysql.sock

初始化Mysql

mysqld   --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data

初始化说明
–initialize #初始密码在日志中(–initialize-insecure 不设置root初始密码)
–user #设置程序用户
–basedir #程序目录
–datadir #数据目录

查看初始root密码

cat /data/mysql/logs/mysql.err

在这里插入图片描述
添加启动程序

cp /data/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig on
chkconfig mysql

启动mysql

/etc/init.d/mysql start

在这里插入图片描述

修改初始root密码

alter user root@'localhost' identified by '123';
flush privileges;

新密码验证登录

mysql -uroot -p123

docker安装

docker run启动

创建部署目录

mkdir /data/mysql/{data,etc,logs}
mkdir /data/mysql/logs/binlog
chmod 777 -R /data/mysql/logs

编写配置文件

vim /data/mysql/etc/my.cnf
[mysqld]
#最大连接数
max_connections = 1500
log-error=/var/log/mysql/mysql.err
#半同步设置(根据需求开启)
#rpl_semi_sync_master_enabled = 1
#rpl_semi_sync_master_timeout = 10000
#rpl_semi_sync_slave_enabled = 1
#设置默认字符集
character-set-server=utf8mb4
#server——id
server-id=1
#二进制日志
log-bin=/var/log/mysql/binlog/mysql-bin
#binlog_format = mixed
expire_logs_days = 10
#中继日志
relay-log=relay-bin
relay_log_purge=0
read_only=1
relay-log-index=slave1-relay-bin.index
#慢日志
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql_slow.log
long_query_time = 1
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4

启动容器

docker run -d --name db -p 3306:3306  -e MYSQL_ROOT_PASSWORD=123456 -v /data/mysql/etc/my.cnf:/etc/mysql/my.cnf -v /data/mysql/data:/var/lib/mysql -v /data/mysql/logs:/var/log/mysql docker.io/mysql:5.7.30

启动说明
-d 后台运行
–name 设置容器名称
-p 3306:3306 映射容器内端口(mysql连接端口)本地:容器
-v 映射数据目录和日志目录(本地:容器)
-e MYSQL_ROOT_PASSWORD=123456 设置Mysql-root账户密码

命令行登录

docker exec -it mysql -uroot -p123456
docker-compose启动

创建部署目录

mkdir -p /data/mysql/{logs,data,etc}
mkdir /data/mysql/logs/binlog
chmod 777 -R /data/mysql/logs

编写配置文件

vim /data/mysql/etc/my.cnf
[mysqld]
#最大连接数
max_connections = 1500
log-error=/var/log/mysql/mysql.err
#半同步设置(根据需求开启)
#rpl_semi_sync_master_enabled = 1
#rpl_semi_sync_master_timeout = 10000
#rpl_semi_sync_slave_enabled = 1
#设置默认字符集
character-set-server=utf8mb4
#server——id
server-id=1
#二进制日志
log-bin=/var/log/mysql/binlog/mysql-bin
#binlog_format = mixed
expire_logs_days = 10
#中继日志
relay-log=relay-bin
relay_log_purge=0
read_only=1
relay-log-index=slave1-relay-bin.index
#慢日志
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql_slow.log
long_query_time = 1
[mysql]
#设置mysql客户端默认字符集
default-character-set=utf8mb4

编写YML文件

vim  /data/mysql/docker-compose-mysql.yml
version: '3.1' 
services:   
  mysql:
    image: docker.io/mysql:5.7.30       #使用镜像
    container_name: mysql               #容器名称
    restart: always                     #是否自启动
    volumes:
    - /data/mysql/data:/var/lib/mysql                #映射数据目录
    - /data/mysql/etc/my.cnf:/etc/mysql/my.cnf       #映射配置文件
    - /data/mysql/logs:/var/log/mysql                #映射日志文件
    environment:
      TZ: Asia/Shanghai 
      MYSQL_ROOT_PASSWORD: 123456                    #设置root密码
    ports:
    - 13306:3306                                     #映射端口
    logging:                                         #容器日志限制非服务日志
      options:
        max-size: '100m'
        max-file: '10'

启动服务

docker-compose -f /data/mysql/docker-compose-mysql.yml up -d

登录mysql

docker exec -it Mysql mysql -uroot -p123456
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值