Mysql部署

一、准备工作

1、在vmware上部署mysql服务器
2、在xshell上远程连接服务器

二、初始化配置

由于我们已经在上一次实验进行过了初始化配置(想了解本章内容可前往"Web部署"),并且编写了shell脚本,在web服务器上远程传输给mysql服务器

scp "初始化配置脚本" "mysql服务器ip地址":/root

进行初始化配置

bash init_env.sh mysql "ip地址" "网关ip"

三、安装MySQL

准备好mysql(mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz )资源包以及一键安装mysql的脚本(onekey_install_mysql_binary_v3.sh ),执行安装脚本

#!/bin/bash

#解决软件的依赖关系并且安装需要工具
yum  install cmake ncurses-devel gcc  gcc-c++  vim libaio lsof bzip2 openssl-devel ncurses-compat-libs net-tools -y

#解压mysql二进制安装包
tar  xf  mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz

#移动mysql解压后的文件到/usr/local下改名叫mysql
#/usr/local/mysql 是mysql的安装目录 --》门店
mv mysql-5.7.37-linux-glibc2.12-x86_64 /usr/local/mysql

#新建组和用户 mysql
groupadd mysql
#mysql这个用户的shell 是/bin/false 属于mysql组 
useradd -r -g mysql -s /bin/false mysql

#关闭firewalld防火墙服务,并且设置开机不要启动
service firewalld stop
systemctl  disable  firewalld

#临时关闭selinux
setenforce 0
#永久关闭selinux
sed -i '/^SELINUX=/ s/enforcing/disabled/'  /etc/selinux/config

#新建存放数据的目录 --》仓库
mkdir  /data/mysql -p
#修改/data/mysql目录的权限归mysql用户和mysql组所有,这样mysql用户启动的mysql进程可以对这个文件夹进行读写了
chown mysql:mysql /data/mysql/
#只是允许mysql这个用户和mysql组可以访问,其他人都不能访问
chmod 750 /data/mysql/

#进入/usr/local/mysql/bin目录
cd /usr/local/mysql/bin/

#初始化mysql
./mysqld  --initialize --user=mysql --basedir=/usr/local/mysql/  --datadir=/data/mysql  &>passwd.txt

#让mysql支持ssl方式登录的设置
./mysql_ssl_rsa_setup --datadir=/data/mysql/

#获得临时密码
tem_passwd=$(cat passwd.txt |grep "temporary"|awk '{print $NF}')
  #$NF表示最后一个字段
  # abc=$(命令)  优先执行命令,然后将结果赋值给abc 

# 修改PATH变量,加入mysql bin目录的路径
#临时修改PATH变量的值
export PATH=/usr/local/mysql/bin/:$PATH
#重新启动linux系统后也生效,永久修改
echo  'PATH=/usr/local/mysql/bin:$PATH' >>/root/.bashrc

#复制support-files里的mysql.server文件到/etc/init.d/目录下叫mysqld
cp  ../support-files/mysql.server   /etc/init.d/mysqld

#修改/etc/init.d/mysqld脚本文件里的datadir目录的值
sed  -i '70c  datadir=/data/mysql'  /etc/init.d/mysqld

#生成/etc/my.cnf配置文件
cat  >/etc/my.cnf  <<EOF
[mysqld_safe]

[client]
socket=/data/mysql/mysql.sock

[mysqld]
socket=/data/mysql/mysql.sock
port = 3306
open_files_limit = 8192
innodb_buffer_pool_size = 512M
character-set-server=utf8

[mysql]
auto-rehash
prompt=\\u@\\d \\R:\\m  mysql>
EOF

#修改内核的open file的数量
ulimit -n 1000000
#设置开机启动的时候也配置生效
echo "ulimit -n 1000000" >>/etc/rc.local
chmod +x /etc/rc.d/rc.local


#将mysqld添加到linux系统里服务管理名单里
/sbin/chkconfig --add mysqld
#设置mysqld服务开机启动
/sbin/chkconfig mysqld on


#启动mysqld进程
service mysqld start

#初次修改密码需要使用--connect-expired-password 选项
#-e 后面接的表示是在mysql里需要执行命令  execute 执行
#set password='Sanchuang123#';  修改root用户的密码为Sanchuang123#
mysql -uroot -p$tem_passwd --connect-expired-password   -e  "set password='Sanchuang123#';"


#检验上一步修改密码是否成功,如果有输出能看到mysql里的数据库,说明成功。
mysql -uroot -p'Sanchuang123#'  -e "show databases;"

bash onekey_install_mysql_binary_v3.sh 
  • 这里需要注意,我们执行完脚本后,需要使用su命令,重新登陆加载新的PATH

在上述脚本中,我们可以看到已经给数据库重新设置了密码,使用以下命令验证登录数据库

mysql -uroot -p'Sanchuang123#'

在这里插入图片描述
如果出现以上字段,结果表明你的数据库已经成功部署,接下来,就可以进一步进行数据库的操作了

四、数据库的初始化

4.1 建立初始的库

create database users;
use users;

4.2 导入数据

在web服务器上将数据库文件远程传输到mysql服务器

scp  info.sql   "mysql服务器ip地址":/root

在mysql服务器中将数据导入到数据库中

mysql -uroot -p'Sanchuang123#'  users < info.sql

4.3 建立授权用户

建立授权的用户,允许web网站可以连接到数据库里获取数据

create user  '用户名'@'指定允许访问的主机ip地址'  identified by  '用户密码';

建立用户后,可以使用以下命令查看授权信息

select host,user,authentication_string from user;

授予用户可以对users库里的所有的表进行全部权限的操作,包括增删改查等

grant all on users.*  to '用户名'@'指定允许访问的主机ip地址';

将mysql客户端命令scp到web服务器上,这样web服务器就可以使用mysql这个客户端进行远程登录测试

cd /usr/local/mysql/bin
scp  mysql  "web服务器ip地址":/usr/bin

在这里插入图片描述

MySQL 部署工具是一种用于自动化部署和配置 MySQL 数据库的工具。它可以帮助管理员或开发人员轻松地安装、配置和管理 MySQL 数据库实例,提高工作效率,减少错误和手动操作。 MySQL 部署工具通常具有以下功能: 1. 自动化安装:通过向导或命令行界面,提供自动安装 MySQL 数据库实例的功能,包括选择安装路径、配置选项和创建数据库用户等。 2. 配置管理:允许管理员对已安装的 MySQL 实例进行配置和管理,包括调整内存设置、网络连接、存储引擎、字符集等。 3. 监控和优化:提供监控和优化数据库性能的工具,可以收集和分析数据库性能指标,并提供性能优化建议。 4. 数据库备份和恢复:支持定期备份数据库,并提供灾难恢复的功能,保证数据的可靠性和可用性。 5. 安全性管理:提供安全性管理功能,如用户和权限管理、SSL/TLS 支持、防火墙、日志审计等,保护数据库免受未经授权的访问和攻击。 6. 高可用性和容错性:支持数据库的高可用性和容错性,如主从复制、故障转移、自动故障检测和恢复等,确保数据库的稳定性和可用性。 总之,MySQL 部署工具是帮助管理员轻松部署、配置和管理 MySQL 数据库的工具,提供自动化操作、性能优化、备份恢复、安全性管理和高可用性容错性等功能,提高工作效率并保障数据库的稳定和安全。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值