首页 > 数据库 >MySQL安装部署

MySQL安装部署

时间:2023-07-05 23:00:32浏览次数:43  
标签:部署 MySQL community 密码 mysql validate password 安装 el7

禁用SELinux:
方法一:vi /etc/selinux/config
SELinux=disabled

方法二:sed -i '/^SELINUX=/ c SELinux=disabled' /etc/selinux/config
setenforce 0 //设置为宽容(警告)模式


四种方法安装MySQL:
方法一:yum仓库安装 --测试开发环境
在线安装:
yum install http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
下载相应版本MySQL包
手动配置yum源,baseurl指向国内镜像源地址,比如清华、中科大。
/etc/yum.repos.d/mysql.repo
[mysql]
name=mysql57
baseurl=http://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-x86_64/
gpgcheck=0
yum install mysql-community-server -y 安装MySQL


离线安装:
准备rpm包
解压缩tar xvf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar 下载好上传到虚机
yum remove mariadb-libs-5.5.68-1.el7.x86_64
yum localinstall mysql-community-server-5.7.18-1.el7.x86_64.rpm mysql-community-libs-5.7.18-1.el7.x86_64.rpm mysql-community-client-5.7.18-1.el7.x86_64.rpm mysql-community-common-5.7.18-1.el7.x86_64.rpm -y


方法二:通用二进制安装--生产环境
wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.41-linux-glibc2.12-x86_64.tar.gz
可在命令后写上路径名 下载到该路径 找到二进制包的下载链接
2> 创建用户及组
# groupadd -r mysql
# useradd mysql -r -g mysql -c "MySQL Server" -s /bin/false

3> 解压,软链接
# tar xf mysql-5.7.14-linux-glibc2.5-x86_64.tar -C /usr/local
# tar xf /usr/local/mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
创建软链接:为了方便以后升级。
# ln -sv /usr/local/mysql-5.7.14-linux-glibc2.5-x86_64 /usr/local/mysql

4>初始化 输出有名初始密码
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
5> 提供配置文件和服务启动脚本
# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
修改配置文件:vim /etc/my.cnf
[mysqld]
...
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
# 服务脚本
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
添加系统服务,并设置开机自启动
# chkconfig --add mysqld
# chkconfig mysqld on
6> 启动mysql
# /usr/local/mysql/bin/mysqld_safe --user=mysql &

配置环境变量:
# vim /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH

加载使其生效。
方法三:docker安装--测试开发环境

 

 

首先,尝试一下直接使用 yum 安装 MySQL

yum install mysql-community-server

如果成功,表示不需要配置MySQL rpm 源信息,直接就安装完成了

但是,如果出现以下错误:

Loading mirror speeds from cached hostfile
没有可用软件包 mysql-community-server。
错误:无须任何处理

表示我们没有添加安装包的源信息,需要安装 MySQL rpm 源信息

 

安装 MySQL rpm 源信息

打开 http://dev.mysql.com/downloads/repo/yum/

根据你的系统版本,选择对应的安装包,例如我的是CentOS 7.5,这个系统的Linux内核是 Linux 7,所以我选择了红框内的地址,大家依次类推。

拼接下载地址头:http://dev.mysql.com/get/,得到以下地址

 http://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm

使用 wget + 刚才拼接的地址,下载安装包源信息

wget  http://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm

rpm 安装源信息

rpm -ivh mysql80-community-release-el7-7.noarch.rpm

 

安装

再尝试使用 yum 安装MySQL

yum install mysql-community-server

安装过程中,会提示让我们确认,一律输入 y 按回车即可

安装完成后,yum会自动覆盖自带的mariaDB,所以不需要我们手动卸载它

 

检查安装是否成功

检查一下刚才的安装是否成功

rpm -qa | grep mysql

输出:

mysql-community-libs-compat-8.0.33-1.el7.x86_64
mysql-community-icu-data-files-8.0.33-1.el7.x86_64
mysql80-community-release-el7-7.noarch
mysql-community-common-8.0.33-1.el7.x86_64
mysql-community-libs-8.0.33-1.el7.x86_64
mysql-community-server-8.0.33-1.el7.x86_64
mysql-community-client-8.0.33-1.el7.x86_64
mysql-community-client-plugins-8.0.33-1.el7.x86_64

输出类似以上内容,表示安装完成

 

检查mariaDB是否被覆盖

rpm -qa | grep mariadb

输出空,表示 mariaDB 已经被成功覆盖。

 

MySQL 常用命令

# 启动
systemctl start mysqld

# 第一次启动后,可以查看mysql初始化密码
grep 'temporary password' /var/log/mysqld.log

# 重启
systemctl restart mysqld

# 停止
systemctl stop mysqld

#查看状态
systemctl status mysqld

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

# 查看进程、版本信息
ps -ef | grep mysql
或
netstat -atp

# 登录
mysql -u root -p'密码内容'

# 查看所有表
show databases;

# 进入数据库
use 表名

# 查看所有表
show tables

# 查看某张表信息
desc 表名

# 查
select * from 表名
# 删
delete from 表名 where field=xx
# 改
update 表名 set field='xxx' where field='xxx';

 

登录和修改密码

我们安装的时候,并没有设置初始密码

所以 mysql 在第一次启动的时候,会自动初始化一个密码

通过以下这行代码,我们可以查看 mysql 自动初始化的密码:

# 第一次启动后,可以查看mysql初始化密码
grep 'temporary password' /var/log/mysqld.log

输出(root@localhost: 后面的是密码):
2023-04-21T06:03:27.071550Z 6 [Note] [MY-010454] [Server] A temporary password
is generated for root@localhost: r2to%yZ%a)%s

 

登录

# 登录mysql,一定要注意:-p和'密码'之间是没有空格的
mysql -u root -p'r2to%yZ%a)%s'

 

修改 root 密码

注意了,默认的密码策略,需要:大写英文 + 特殊字符 + 数字

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root_123';

 

有些同学可能会觉得,老子密码想设置啥就设置啥,轮得到你这 mysql 在这里瞎BB?

那也是可以修改密码校验策略的

首先,安装密码验证插件

但是有个前提,你还是需要先按它的要求修改第一次密码,才能安装密码验证策略插件,哈哈
1、先按照mysql的要求,修改一次密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root_123';

2、退出mysql
exit

3、重新登录mysql
mysql -u root -p'Root_123'

4、安装密码验证插件
install plugin validate_password soname 'validate_password.so';

5、查看是否启用了插件
select plugin_name, plugin_status from information_schema.plugins where plugin_name like 'validate%';
+-------------------+---------------+
| plugin_name       | plugin_status |
+-------------------+---------------+
| validate_password | ACTIVE        |
+-------------------+---------------+
输出这样的内容,表示成功启用

 

查看验证策略的键、值信息

SHOW VARIABLES LIKE 'validate_password%';

对于高版本的mysql,例如mysql 8,验证策略的key,是 validate_password.xxx
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| 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     |
+--------------------------------------+-------+


对于低版本的mysql,例如mysql 5.7,验证策略的key,是 validate_password_xxx
+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| 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     |
+--------------------------------------+-------+

 

我们修改密码策略和密码长度

我的策略信息的 key ,是 validate_password.xxx这个格式的,所以按照如下进行设置

设置密码校验策略为:0(只验证密码长度)
set global validate.password_policy=0;

设置密码最低长度=N,例如设置密码最低长度=6,也就是密码最少要设置6个字符及以上
set global validate.password_length=6;

 

好了,现在密码就可以按照你刚才配置的策略,来进行设置密码了

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

 

开放 root 账户远程登录

# 登录
mysql -u root -p'密码'

# 如果你的数据库是 mysql 8 及以上
# 1、进入数据库
use mysql
# 2、修改user表
update user set host='%' where user='root';

# mysql 5.7 及之前,执行这行代码即可
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;

# 重载授权表
FLUSH PRIVILEGES;

# 退出
exit

# 重启
systemctl restart mysqld

 

端口开放

经过实测,使用阿里云或者腾讯云,在服务器上,无需配置 iptables 端口信息

但必须在阿里云或者腾讯云控制台 - 服务器 - 安全组,开放 3306端口。

标签:部署,MySQL,community,密码,mysql,validate,password,安装,el7
From: https://www.cnblogs.com/luojuning/p/17530553.html

相关文章

  • 浅分析MySQL架构图
    MySQL架构大致可以分为4层:客户端、server层、存储引擎层、物理文件层客户层:为各种语言提供连接MySQL的方法server层:包括连接器、查询缓存、分析器、优化器、执行器等,涵盖mysql的大多数核心服务功能,以及所有的内置函数,所有跨存储引擎的功能都在这一层实现。数据存储层:负责数据的......
  • docker安装kafka集群
    搭建docker基本环境搭建docker环境非本处详细讲解,了解或查阅资料即可拉取镜像(zookeeper以及kafka的)dockerpullwurstmeister/zookeeperdockerpullwurstmeister/kafka启动启动zookeeper容器dockerrun-d--namezookeeper-p2181:2181-twurstmeister/zookeep......
  • m基于GA遗传优化算法的二维室内红外传感器部署策略matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:   2.算法涉及理论知识概要       遗传算法的原理        遗传算法GA把问题的解表示成“染色体”,在算法中也即是以二进制编码的串。并且,在执行遗传算法之前,给出一群“染色体”,也即是假设解。然后,把这些假设解置......
  • Git安装与windows终端配置Git-bash
    Git概述简介Git是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库存储和管理这些文件,Git仓库分为两种:本地仓库:开发人员自己电脑上的Git仓库远程仓库:远程服务器上的Git仓库commit:提交,将本地文件和版本信息保存到本地仓库push:推送,将本......
  • Win11 安装 WSA
    1.WSA安装前提确保Windows11版本为22000.xxx或更高版本。硬件必须支持并启用BIOS/UEFI虚拟化确保微软商店版本为22110.1402.6.0或更高版本,并单击“获取更新”按钮升级其版本。安卓子系统默认会分配4G内存,建议16G内存以上的电脑使用。2.开启Hyper-V进入控制面板→程序→......
  • Kubernetes使用Helm部署Gitea仓库
    使用Helm部署Gitea仓库配置Helm源helmrepoaddgiteahttps://dl.gitea.io/chartshelmrepoupdate导出Gitea配置文件values.yamlhelmshowvaluesgitea/gitea>values.yaml#helmshowreadmegitea/gitea>README.md修改values.yamlvimvalues.yaml修改持久化配置......
  • 我也玩大模型-私有化部署
    chatGPT带火了整个AI,本来想让子弹飞会,但上上下下都在谈论,感觉很焦虑。那就试试吧。1、选型,只有开源的才可能私有化部署,最终从最容易入手的(资料做多):清华开源的chatGLM2-6B,毕竟现在是练手2、项目:github上有,huggingface上也有,但不一样。完整的模型实现在huggingface,带着模型参......
  • VTK - 编译安装
    1.准备工作1-1.Qt(5.15)1-2.CMake(3.26.4)1-3.VTK源码(9.2.6)1-4.CUDA环境(1080ti/cudnn12/cuda536)以上环境自行安装准备2.下载VTK源码 VTK官网下载源码文件  Download|VTK  3.配置CMake配置cuda配置Qt配置VTK库的安装路径 配置编译好的库的安装......
  • 使用docker-compose部署apollo配置中心
    docker-compose部署apollo配置中心1、Apollo配置中心1.1、Apollo简介Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。Apollo支持4个维度管理Key-Value格式......
  • Nacivate 连接远程mysql时 报错 Lost connection to MySQL server at ‘reading initi
    出现这种报错首先要检查第一:查看mysql的配置文件 /etc/my.cnf,根据服务器的不同以及安装的mysql版本有的是配置文件/etc/mysql/conf.d/50.server.confstep1:注释bind-address=127.0.0.1这句step2:找到[mysqld]部分的参数,在配置后面建立一个新行,添加skip-name-resolve......