两个MySQL5.7数据库实例

前言

使用MySQL版本:mysql-5.7.20
centos版本:7.6
安装包链接:https://pan.baidu.com/s/1Tu39eOK14afGyhFQyP_SzA
提取码:lzsw

1、删除MySQL的安装文件
查询MySQL的安装文件

find / -name mysql

卸载:

mv /usr/local/mysql /tmp

2、删除MySQL的配置文件
删除/etc/my.cnf文件
删除/etc/init.d/下跟mysql有关的全部文件,一般包括mysql文件或mysqld文件

二、开始安装

1.先将要tar包上传到/usr/local/mysql目录里。【注:先创建mysql文件夹】

mkdir -p /usr/local/mysql
cd /usr/local/mysql

2.进行解压

tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz	#解压5.7

3.把解压的安装包重命名一下为mysql_3307

mv mysql-5.7.20-linux-glibc2.12-x86_64 mysql_3307

4.把mysql的指令加入系统配置文件中,后面再次使用mysql相关指令时,不用进入MySQL的bin目录里面也可以执行

echo 'export PATH=/usr/local/mysql/mysql_3307/bin:$PATH' >> /etc/profile

. /etc/profile		#重新加载profile文件   【注】:. /中间是会空一格的

5.添加用户、用户组

groupadd mysql
useradd -r -g mysql mysql

6.检查是否安装libaid

rpm -qa |grep libaio

6.1 若没有安装,使用如下命令安装:

yum search libaio
yum install libaio-devel.x86_64 -y

# 安装8.0需要加上
# yum -y install numactl

7 .配置my3306.cnf文件
【注】:一般是建立my.cnf配置文件,这里用于区分,我命名为my3307.cnf配置文件
以放到解压到的文件夹里,注意~该文件权限是644

mkdir -pv /usr/local/mysql/mysql_3307/etc/
touch /usr/local/mysql/mysql_3307/etc/my3307.cnf
#配置文件权限
chmod 644 /usr/local/mysql/mysql_3307/etc/my3307.cnf
#执行该指令,编辑配置文件
cat > /usr/local/mysql/mysql_3307/etc/my3307.cnf <<EOF



[mysqld]
bind-address=0.0.0.0
port=3307
user=mysql
#指定路径
socket=/tmp/mysql3307.sock
#指定pid存放路径
pid_file=/app/data/data_3307/data/my3307.pid
#设置MySQL的安装目录
basedir=/usr/local/mysql/my_3307
#设置MySQL数据库的数据的存放目录
datadir=/app/data/data_3307/data
#character config
character_set_server=utf8mb4
explicit_defaults_for_timestamp=true
symbolic-links=0

#log日志
log-error=/app/data/data_3307/logs/mysql3307.err
log_bin=/app/data/data_3307/binlog/mysql-bin
relay_log=/app/data/data_3307/relaylog/relay-bin
slow_query_log_file=/app/data/data_3307/logs/slow.log
slow_query_log=on

#这里的server-id是用于标识主从复制库的
server-id=1

#innodb settings
innodb_buffer_pool_size=128M
#无密码登录
#skip-grant-tables
#开启PGID
gtid-mode=on
enforce-gtid-consistency=true
log-slave-updates=1

[mysql]
prompt="(\\u@\\h :\D)[\\d]> "
socket=/tmp/mysql3307.sock
no-auto-rehash

#增强密码安全强度
plugin-load-add=validate_password.so
validate-password=FORCE_PLUS_PERMANENT
EOF

8.创建data文件夹及其下面的mysql目录

#在data里建立这个四个目录,用于存储.cnf指定的路径
mkdir -pv /app/data/data_3307/{binlog,logs,data,relaylog}

9.将MySQL安装包目录和data目录下的所有所属用户和组改为MySQL

chown -R mysql:mysql /app/data/data_3307
chown -R mysql:mysql /usr/local/mysql/my_3307

10.mysql初始化

cd /usr/local/mysql/my_3307/bin

#初始化,指定刚才建立的cnf文件即可
mysqld --defaults-file=/usr/local/mysql/mysql_3307/etc/my3307.cnf  --initialize-insecure

#更详细的初始化命令
mysqld --defaults-file=/usr/local/mysql/mysql_3307/etc/my3307.cnf --initialize-insecure --user=mysql --basedir=/usr/local/mysql/mysql_3307 --datadir=/app/data/data_3307/data

-- 参数解释
--initialize-insecure
--initialize : 给root@'localhost'用户生成一个临时密码。四种复杂度的12位密码。
			   这个密码只能第一次登录使用,并且登录后无法CRUD数据库,需要改密后才行


#如果未能启动成功,把之前部分初始化的数据清空,然后再初始化一次,已经初始化成功,这条指令请忽略
rm -rf `ls /app/data/data_3307 |awk '{print $1"/*"}'`

查看初始密码:(如果在my3307.cnf配置文件里,加了skip-grant-tables参数,则查看不到登录密码)

#若执行此命令,没有显示密码信息,则在后面登录msyql输入密码的时候,回车即可
cat /app/data/data_3307/logs/mysql3307.err |grep password

启动mysql

#启动方法一
mysqld_safe --defaults-file=/usr/local/mysql/my_3307/etc/my3307.cnf &

#启动方法二
mysqld_safe --defaults-file=/usr/local/mysql/my_3307/etc/my3307.cnf --basedir=/usr/local/mysql/my_3307 --datadir=/app/data/data_3307/data &

#关闭数据库,这里只是记录,不用执行
mysqladmin -S /tmp/mysql3307.sock -u root -p shutdown	#接下来输入root用户的密码即可关闭数据库

查看是否启动:

ps -ef|grep mysql
mysql> show global variables like 'port'; 	-- 查看当前端口号

登录MySQL

mysql -S /tmp/mysql3307.sock -P 3307 -u root -p
回车即可进入

#小技巧,可以把启动命令设置为别名,下次登录输入my3307即可
#永久设置:vim /etc/bashrc  ,在最末尾加上alias语句即可
echo "alias my3307='mysql -u root -p -S /tmp/mysql3307.sock'" >> /etc/bashrc
. /etc/bashrc      #重新加载文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值