刷单类网站开发,越秀营销型网站建设,网站维护案,做个简单的公司网站要多少钱#x1f341;博主简介#xff1a; #x1f3c5;云计算领域优质创作者 #x1f3c5;2022年CSDN新星计划python赛道第一名 #x1f3c5;2022年CSDN原力计划优质作者 #x1f3c5;阿里云ACE认证高级工程师 #x1f3c5;阿里云开发者社区专… 博主简介 云计算领域优质创作者 2022年CSDN新星计划python赛道第一名 2022年CSDN原力计划优质作者 阿里云ACE认证高级工程师 阿里云开发者社区专家博主 交流社区CSDN云计算交流社区欢迎您的加入 目录 1 背景
2 安装MySQL
2 进行mysql安装
3 配置搭建3306、3307实例
4 设置mysql系统环境变量
5 分别初始化两个mysql数据库
6 登录两个mysql
6 扩展 结束语 1 背景
公司进行压测和业务测试时候资源有限两个环境都部署在一台服务器上但是需要为了做业务测试不影响到压测测试所有业务测试调用数据库要和压测的库分开。
这个时候就需要在这台服务器上部署两个mysql实例然后分别有不同的配置文件调用不同的数据文件。这样顶多需要考虑服务器的性能问题而已两组测试互不干扰。
2 安装MySQL
先看看是否已安装过(自带)如果已安装过先卸载干净然后检查安装环境是否支持重新安装
# 先查找一下系统有没有mysql包以免影响后续安装使用
[rootxiaopeng ~]# rpm -qa | grep mysql #没有输出任何内容说明没有mysql包
[rootxiaopeng ~]# rpm -qa | grep mariadb #我的系统输出了如下两个包那么就需要清理掉
mariadb-libs-5.5.68-1.el7.x86_64
mariadb-5.5.68-1.el7.x86_64
[rootxiaopeng ~]# rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
[rootxiaopeng ~]# rpm -e mariadb-5.5.68-1.el7.x86_64 --nodeps
[rootxiaopeng ~]# rpm -qa | grep mariadb #删除之后再查看就没有任何mariadb的包了
[rootxiaopeng ~]#
[rootxiaopeng ~]# chmod -R 755 /tmp # 增加文件操作权限安装MySQL后MySQL会用户在/tmp目录下新建tmp_db文件需要给/tmp目录较大的权限操作
# 检查系统中是否存在一些安装MySQL时需要的依赖库
[rootxiaopeng ~]# rpm -qa|grep libaio #我的系统检查发现有libaio依赖包
libaio-0.3.109-13.el7.x86_64
[rootxiaopeng ~]# rpm -qa|grep net-tools #我的系统检查发现有net-tools依赖包就是netstat命令
net-tools-2.0-0.25.20131004git.el7.x86_64
# 如果不存在则执行yum -y install libaio net-tools安装即可
2 进行mysql安装
# 首先创建mysql用户和用户组
[rootxiaopeng ~]# groupadd mysql #创建一个组组名叫mysql
[rootxiaopeng ~]# useradd -r -g mysql -s /bin/false mysql # 创建一个名为mysql的系统用户该用户属于mysql组但不能登录系统。主要用来安装和配置MySQL数据库服务时使用。
[rootxiaopeng ~]# cd /usr/local/ #进入安装目录
[rootxiaopeng local]# rz
# rz命令可以将windows的包上传到linux的当前目前
#如果没有这个命令的话执行yum -y install lrzsz就能安装上这个命令了
进行解压缩
[rootxiaopeng local]# tar -zxf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz #解压缩这个包
[rootxiaopeng local]# mv mysql-5.7.35-linux-glibc2.12-x86_64 mysql #改名叫mysql
mysql服务安装完毕
3 配置搭建3306、3307实例
创建3306、3307不同实例的数据存放路径和配置等文件存放位置。
# 分别创建数据文件存放路径
[rootxiaopeng local]# mkdir -p mysql/3306/data
[rootxiaopeng local]# mkdir -p mysql/3307/data
# 分别创建日志存放路径
[rootxiaopeng local]# mkdir -p mysql/3306/log
[rootxiaopeng local]# mkdir -p mysql/3307/log
# 分别创建两个mysql的配置文件
[rootxiaopeng local]# vim mysql/3306/my.cnf
[mysqld]
port3306 #实例1的服务端口为3306
usermysql #用户名mysql
basedir/usr/local/mysql #mysql服务安装路径
datadir/usr/local/mysql/3306/data #实例1的数据存放路径
lower_case_table_names1
innodb_buffer_pool_size128M
socket/tmp/mysql_3306.sock #sock文件最后放在此目录下否则连接mysql的时候还需要--socket路径来指定sock文件的位置很麻烦
explicit_defaults_for_timestamptrue
symbolic-links0
log-error/usr/local/mysql/3306/log/mysqld.log
pid-file/usr/local/mysql/3306/run/mysqld.pid
character_set_serverutf8mb4
init_connectSET NAMES utf8mb4
[rootxiaopeng local]# vim mysql/3307/my.cnf
[mysqld]
port3307 #实例1的服务端口为3307
usermysql #用户名mysql
basedir/usr/local/mysql #mysql服务安装路径
datadir/usr/local/mysql/3307/data #实例1的数据存放路径
lower_case_table_names1
innodb_buffer_pool_size128M
socket/tmp/mysql_3307.sock #sock文件最后放在此目录下否则连接mysql的时候还需要--socket路径来指定sock文件的位置很麻烦
explicit_defaults_for_timestamptrue
symbolic-links0
log-error/usr/local/mysql/3307/log/mysqld.log
pid-file/usr/local/mysql/3307/run/mysqld.pid
character_set_serverutf8mb4
init_connectSET NAMES utf8mb4
# 修改整个目录及子文件的所有者所属组为mysql
[rootxiaopeng local]# chown -R mysql:mysql /usr/local/mysql
[rootxiaopeng local]# ll
[rootxiaopeng local]# cd mysql
[rootxiaopeng mysql]# tree 3306 #想用tree命令查看一下目录结构显示没有这个命令
-bash: tree: 未找到命令
[rootxiaopeng mysql]# yum -y install tree #那就下载一个
[rootxiaopeng mysql]# tree 3306 #再查看一下就显示了配置文件和数据存放目录都完全隔离了
3306
├── data
└── my.cnf
[rootxiaopeng mysql]# tree 3307
3307
├── data
└── my.cnf
4 设置mysql系统环境变量
# 设置系统环境变量
[rootxiaopeng mysql]# vim /etc/profile # 在文件末尾添加下面信息
export PATH/usr/local/mysql/bin:$PATH
[rootxiaopeng mysql]# source /etc/profile #加载一下使环境变量生效
5 分别初始化两个mysql数据库
# 初始化3306实例数据库
# 指定配置文件的位置、安装目录、数据存放路径
# 注意初始化结束的最后一行记录了root的密码复制到记事本
[rootxiaopeng mysql]# /usr/local/mysql/bin/mysqld --defaults-file/usr/local/mysql/3306/my.cnf --initialize --basedir/usr/local/mysql/ --datadir/usr/local/mysql/3306/data
[rootxiaopeng mysql]# /usr/local/mysql/bin/mysqld --defaults-file/usr/local/mysql/3306/my.cnf --initialize --basedir/usr/local/mysql/ --datadir/usr/local/mysql/3307/data
# 启动数据库实例3306、3307并放入后台
[rootxiaopeng mysql]# nohup /usr/local/mysql/bin/mysqld --defaults-file/usr/local/mysql/3306/my.cnf --usermysql
[rootxiaopeng mysql]# nohup /usr/local/mysql/bin/mysqld --defaults-file/usr/local/mysql/3307/my.cnf --usermysql
6 登录两个mysql
[rootxiaopeng mysql]# mysql -uroot -p7VSb4FUd^28U2KL -h127.0.0.1 -p -P3306
#3VSb4FUd^28U2KL为初始化结束后复制的密码
[rootxiaopeng mysql]# mysql -uroot -p9dTJylD*4s2ARdtx -h127.0.0.1 -p -P3307
#9dTJylD*4s2ARdtx为初始化结束后复制的密码
6 扩展
1、如果要修改root密码使用如下命令
# 先登录到mysql中然后执行如下命令
mysql SET PASSWORD FOR rootlocalhost PASSWORD(新密码);
# 一定要注意括号引号分号等符号是英文格式的
2、如果sock文件放在了其他目录下
mysql -uroot -p密码 -h 127.0.0.1 --socket/usr/local/data/mysql/tmp/mysql.sock --port3306
# --socket后面跟上sock文件的绝对路径
# 备份3306中的xiaopenglinux数据库
mysqldump -uroot -p密码 xiaopenglinux /usr/local/data/mysql/mysqlBackups/xiaopenglinux.sql --socket/usr/local/data/mysql/tmp/mysql.sock --port3306
# 还原xiaopenglinux数据库到3307数据库中
mysql -uroot -p密码 xiaopenglinux.sql --socket/usr/local/data/mysql/tmp/mysql.sock --port3307
3、创建普通用户并赋予权限
create user lark_test% identified by 0dAJylD*a3C8Rdtx;
show grants for usernamelocalhost;
# username 用户名
# localhost 用户的本地权限
show grants for username%;
# % 代表用户的外部连接权限
# ALL: 允许进行任何操作拥有root权限
# USAGE: 只允许登录--无其他任何权限一般新创建的用户是没有任何权限的
grant all privileges on *.* to 用户127.0.0.1 identified by 密码;
# 赋予新用户从本地操作所有数据库所有数据表的所有权限
grant all privileges on *.* to chai% identified by 666666;
# 赋予新用户从外部操作所有数据库所有数据表的所有权限没有外部客户端的IP限制但本地有限制
flush privileges;
#刷新权限使权限立即生效 结束语