部署方式

1.docker上面部署

● 部署最新版本

docker pull mysql:latest # 拉取最新版本的镜像文件

docker images # 查看已经安装的镜像文件

docker ps -a # c

运行mysql容器

docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

参数说明

-p 3306:3306:映射容器服务的3306端口到宿主机的3306端口,外部主机可以通过宿
主机ip:3306访问mysql服务
MYSQL_ROOT_PASSWORD:设置mysql服务的root用户密码

检查是否安装成功,并且启动

docker ps

在本地进入docker容器中连接mysql

docker exec -it 2e0e37441a3e /bin/bash

mysql -u root -p

删除docker上的容器

docker stop 2e0e37441a3e

docker rm 2e0e37441a3e

在docker中安装vim

apt-get update # 必须要先update

apt-get install vim

对docker修改以后需要对docker进行重启

systemctl restart docker

修改docker中的dns

echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null

查看docker中的resolve.conf

cat /etc/resolv.conf

yum源安装

下载安装mysql

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql-community-server

安装过程中可能会提示

GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

出现这种情况后

yum install mysql-community-server --nogpgcheck # 可以绕过GPG验证成功安装

启动MySQL服务

systemctl start mysqld.service

查看服务是否启动成功

systemctl status mysqld.service

mysqld.service - MySQL Server

Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)

Active: active (running) since Sun 2022-02-27 14:42:37 CST; 1min 15s ago

查看MySQL的初始密码

grep "password" /var/log/mysqld.log

进入数据库

mysql -uroot -p

修改MySQL的root密码

alter user root@localhost identified by '新密码';

查看MySQL密码设置规则

show variables like 'validate_password%'

mysql安装部署实践总结

	首相就是安装路径和数据路径分离,这一点尤为中要。下载二进制包,以.tar.gz为后缀名的文件,应该存在在/usr/local下

mv /tmp/mysql5.7 /usr/local/mysql

创建数据目录

mkdir -p /home/mysql

mysql中变量配置,在配置文件中进行

basedir=/usr/local/mysql

datadir=/home/mysql

初始化系统环境,比如创建用户,组之类的

chattr -i /etc/shadow /etc/group /etc/gshadow /etc/passwd

/usr/sbin/groupadd mysql

/usr/sbin/useradd mysql -g mysql -d

/home/mysql -s /sbin/nologin

chattr +i /etc/shadow /etc/group /etc/gshadow /etc/passwd

从support-files里面复制启动脚本,放到自启动设置中

cp -rf $basedir/support-files/mysql.server /etc/init.d/mysql

创建一下软连接,是/usr/bin中可以正常访问mysql的几个常用命令行工具

chown -R mysql:mysql $basedir $datadir

ln -f -s /usr/local/mysql/bin/mysql /usr/bin/mysql

ln -f -s /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump

ln -f -s /usr/local/mysql/bin/mysqladmin /usr/bin/mysqldadmin

ln -f -s /usr/local/mysql/bin/mysqlshow /usr/bin/mysqlshow

ln -f -s /usr/local/mysql/bin/mysqld /usr/bin/mysqld

设置mysql启动

/sbin/chkconfig --add mysql

/sbin/chkconfig --level 2345 mysql on

设置MySQL配置文件

可以从soupport-files里面复制一个模板,或者基于现有项目的模板也可以

cp $basedir/support-files/my.cnf.nor /etc/my.cnf

设置字符集

[client]

loose-default-character-set=utf8

[mysql]

character-set-server=utf8

如果现在启动mysql service mysql start,会遇到下面问题

service mysql start

Starting mysql (percona Server)......ERROR! the server quit without updating PID file (var/lib/mysql)test.cyou.com.pid).

而查看错误日志会看到很明显的问题,这个时候MySQL的数据字典还不存在

[ERROR] Fatal error:

can't open and lock privilege tables: table 'mysql.user' doesn't exist

[ERROR] Aborting

我们需要初始化数据字典

5.5 , 5.6可以使用如下方法

mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql

5.7中推荐的方式是使用mysqld的initialize选项

mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql

在尝试就没有问题了

service mysql start

mysql5.7版本中的密码设置,它基于安全考虑,要求设置一个默认的密码,如果不设置密码,则可以使用--initialize-insecure选项来初始化

直接登录会报错

查看默认密码

grep password.*.log

需要立即修改密码,不然不能进行任何操作

set password=password('mysql');

后面需要修改密码的方式

update user set authentication_string=PASSWORD('mysql') where User='root';

● mysql中密码设置的规则

Variable_name Value

validate_password_check_user_name OFF

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

● 密码的长度是由validate_password_length决定的,而validate_password_length的计算公式是:

validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

修改MySQL密码的规则

set global validate_password_policy=0;

set global validate_password_length=1;

● 由于安装了yum Repository,以后每次yum操作都会自动更新,需要把这个卸载

yum -y remove mysql57-community-release-el7-10.noarch

● 授权可视化工具能够连接

use mysql;

grant all privileges on . to root@'%' identified by '123456';

强制刷新权限

flush privileges;

查看用户表

select user,host from user;

● 查看服务器防火墙设置

1、centos7中的防火墙由firewalld来管理,而不是iptables

firewall-cmd --state # 结果现实为running或者not running

或者

systemctl status firewalld

2、关闭防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service

3、关闭防火墙firewall后开启

systemctl start firewalld.service

4、开启端口

zone -- 作用域

add-port=80/tcp -- 添加端口,格式为:端口/通讯协议

permanent -- 永久生效,没有此参数重启后失效

firewall-cmd --zone=public --add-port=3306/tcp --permanent

开启3306端口后,workbench或naivcat 就能连接到MySQL数据库了

5、重启防火墙

firewall-cmd --reload

6、常用命令介绍

firewall-cmd --state ##查看防火墙状态,是否是running

firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令

firewall-cmd --get-zones ##列出支持的zone

firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的

firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no

firewall-cmd --add-service=ftp ##临时开放ftp服务

firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务

firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务

firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口

iptables -L -n ##查看规则,这个命令是和iptables的相同的

man firewall-cmd ##查看帮助

systemctl status firewalld.service ##查看防火墙状态

systemctl [start|stop|restart] firewalld.service ##启动|关闭|重新启动 防火墙

查询端口号80 是否开启

firewall-cmd --query-port=80/tcp

● 也可以还原传统的管理方式使用iptalbles

systemctl stop firewalld

systemctl mask firewalld

安装iptables-services

yum install iptables-services

设置开机启动

systemctl enable iptables

操作命令

systemctl stop iptables

systemctl start iptables

systemctl restart iptables

systemctl reload iptables

保存设置

service iptables save

开放某个端口

vim /etc/sysconfig/iptables

添加

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

● yum安装的mysql的安装目录

mysql目录 说明

/var/lib/mysql mysql数据文件存放路径,可自定义

/etc/my.cnf mysql配置文件路径

/usr/lib64/mysql mysql库文件路径

/usr/bin/mysql* mysql二进制可执行文件路径

/etc/rc.d/init.d/mysqld mysql服务管理脚本地址

/var/log/mysqld.log mysql日志文件路径

● 查看MySQL的端口号

show global variables like 'port';

修改MySQL的端口号

vi /etc/my.cnf

在[mysqld]下添加

port=3306

数据库设置开机自启

1.先将/usr/local/mysql/mysql/support-files/ 文件夹下的mysql.server文件复制到 /etc/rc.d/init.d/ 目录下mysqld

cp /usr/local/mysql/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

2.赋予可执行权限:chmod +x /etc/init.d/mysqld

3.添加为服务: chkconfig --add mysqld

4.查看服务列表: chkconfig --list

看到3、4、5状态为开或者为 on 则表示成功。如果是 关或者 off 则执行一下:chkconfig --level 345 mysqld on

重启计算机:reboot

搭建从库

查看GTID状态,新版本是已经开启的状态

show master status\G

查看binlog状态

show variables like '%log_bin%'

1.mysql部署文档的更多相关文章

  1. centos6 Cacti部署文档

    centos6 Cacti部署文档 1.安装依赖 yum -y install mysql mysql-server mysql-devel httpd php php-pdo php-snmp ph ...

  2. HP DL160 Gen9服务器集群部署文档

    HP DL160 Gen9服务器集群部署文档 硬件配置=======================================================Server        Memo ...

  3. CDH简易离线部署文档

        CDH 离线简易部署文档       文档说明 本文为开发部署文档,生产环境需做相应调整. 以下操作尽量在root用户下操作,避免权限问题. 目录 文档说明 2 文档修改历史记录 2 目录 3 ...

  4. 部署文档(centos7.x\nginx\mysql5.6\jdk1.8\ssl\jboot)

    部署文档(centos7.x\nginx\mysql5.6\jdk1.8\ssl\jboot) 1.基础环境********************************************** ...

  5. 2022最新IntellJ IDEA诺依开发部署文档

    前景提示 若伊是国内一款很好的开源项目,非常的便于学习,而且它是开源免费的,但是,它的开发部署文档实在是没法按照那个文档,快速高效的在本地搭建一套可以运行的项目,对于学习开发和使用实在是一大难题,为此 ...

  6. 2022最新IntellJ IDEA的mall开发部署文档

    目录 版本说明 一.概述 二.基本构建 三.Git 导入编译器 四.模块描述浅析 五.配置文档 application.yml修改,涉及模块 application-dev.yml修改,涉及模块 ge ...

  7. 2022最新IntellJ IDEA的zheng开发部署文档

    目录 前景提示 一.环境整合 构建工具(参考工具部署方式) 二.git 导入编译器 三.模块描述浅析 四.配置文档 1.总配置 2.数据库配置 3.密码设置 4.配置建议 五.在IDEA中执行MySQ ...

  8. 高效查看MySQL帮助文档的方法

    在mysql的使用过程中, 可能经常会遇到以下问题: 某个操作语法忘记了, 如何快速查找? 如何快速知道当前版本上某个字段类型的取值范围? 当前版本都支持哪些函数?希望有例子说明.. 当前版本是否支持 ...

  9. PPTP部署文档

    PPTP部署文档 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 前言:这款VPN部署起来特别简单,想对OPENVON配 ...

  10. hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

    相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...

随机推荐

  1. 第6天:基础入门-抓包技术&HTTPS协议&APP&小程序&PC应用&WEB&转发联动

    安装charles 到Windows本地: 安卓模拟器安装: 如果抓模拟器就要使用从远程主机,如果不是,则从所有进程 访问 谷歌浏览器安装证书: PC微信小程序代理抓取: 41:43 :如何将char ...

  2. 【赵渝强老师】Kafka的消息持久化

    1.Kafka消息持久性概述 Kakfa依赖文件系统来存储和缓存消息.对于硬盘的传统观念是硬盘总是很慢,基于文件系统的架构能否提供优异的性能?实际上硬盘的快慢完全取决于使用方式.同时 Kafka 基于 ...

  3. MyBatis的常见面试题

    MyBatis 1.什么是MyBatis MyBatis是一款优秀的半自动化的持久层框架.支持自定义 SQL.存储过程以及高级映射. 2.MyBatis的特点? 简单.灵活.解耦.丰富的标签 3.My ...

  4. ssr屏幕空间射线追踪

    本轮作业中,我们需要在一个光源为方向光,材质为漫反射 (Diffuse) 的场景 中,完成屏幕空间下的全局光照效果(两次反射). 为了在作业框架中实现上述效果,基于我们需要的信息不同我们会分三阶段 着 ...

  5. electron 菜单选项 - 隐藏,设置菜单

    隐藏菜单 const { app, Menu, session } = require('electron'); /*隐藏electron的菜单栏*/ Menu.setApplicationMenu( ...

  6. vue2基于 vue-cropper插件对图片裁剪

    <template> <div id="app"> <div class="model" v-show="model&q ...

  7. 在不需要WiFi密码的情况下进行断网攻击

    本教程只能用于学习研究之用 任何未经他人允许的攻击行为都是违法行为 参考教程 https://www.youtube.com/davidbombal 准备 * kali linux 系统 这里使用的是 ...

  8. Nessus 安装 笔记

    Nessus 安装 笔记 根据 https://www.zwnblog.com/archives/nessus-jie-shao-yu-an-zhuang#2.kali%E5%AE%89%E8%A3% ...

  9. Spark任务OOM问题如何解决?

    大家好,我是 V 哥.在实际的业务场景中,Spark任务出现OOM(Out of Memory) 问题通常是由于任务处理的数据量过大.资源分配不合理或者代码存在性能瓶颈等原因造成的.针对不同的业务场景 ...

  10. 工作使用:Exchange命令集(超级重要)

    工作使用:Exchange命令集(超级重要) 命令1:导出某个用户的邮件                  New-MailboxExportRequest   -mailbox  dusonglin ...