MySQL环境部署

本文档详细介绍了如何在Linux环境中通过二进制方式安装MySQL,并配置多实例。步骤包括安装依赖包、创建用户和组、解压并配置程序文件、设置环境变量、初始化数据、创建服务脚本以及启动服务。此外,还提供了修改密码的方法,并展示了多实例的配置过程,涉及配置文件定制、初始化不同端口的实例以及使用systemd管理多个MySQL服务。
摘要由CSDN通过智能技术生成

1、二进制安装

1.1 安装相关包

[root@localhost ~]# yum -y install libaio numactl-libs

 

1.2、设置用户和组

[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql -s /bin/false mysql

 

1.3、准备程序文件

[root@localhost ~]# ls
anaconda-ks.cfg  mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz  sed  test  yanjiaxi.txt
[root@localhost ~]# tar -zxvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

[root@localhost local]# ll /usr/local/mysql-5.7.32-linux-glibc2.12-x86_64/
total 264
drwxr-xr-x  2 root root    4096 Mar 28 20:29 bin
drwxr-xr-x  2 root root      52 Mar 28 20:29 docs
drwxr-xr-x  3 root root    4096 Mar 28 20:29 include
drwxr-xr-x  5 root root    4096 Mar 28 20:29 lib
-rw-r--r--  1 7161 31415 247914 Sep 23  2020 LICENSE
drwxr-xr-x  4 root root      28 Mar 28 20:29 man
-rw-r--r--  1 7161 31415    587 Sep 23  2020 README
drwxr-xr-x 28 root root    4096 Mar 28 20:29 share
drwxr-xr-x  2 root root      86 Mar 28 20:29 support-files

[root@localhost local]# ln -s mysql-5.7.32-linux-glibc2.12-x86_64/ mysql
[root@localhost local]# chown -R root.root /usr/local/mysql/

 

1.4、配置环境变量

[root@localhost local]# echo "PATH=/usr/local/mysql/bin:$PATH" >/etc/profile.d/mysql.sh
[root@localhost local]# . /etc/profile.d/mysql.sh 

 

1.5、准备配置文件

[root@localhost ~]# cat /etc/my.cnf
[mysqld]
user=mysql
basedir=/usr/local/mysql/
datadir=/data/mysql
server_id=6
port=3306
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
[mysql]
socket=/data/mysql/mysql.sock
prompt=3306 [\\d]>

 

1.5、初始化数据

[root@localhost support-files]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql

 

1.6、准备服务脚本和启动

[root@localhost ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@localhost ~]# chkconfig --add mysqld
[root@localhost ~]# systemctl start mysqld

1.7、修改密码

方法1: 用SET PASSWORD命令  
格式:mysql> set password for 用户名@localhost = password('新密码'); 


方法2:用mysqladmin 
格式:mysqladmin -u用户名 -p旧密码 password 新密码 
 

2、多实例安装

2.1 安装相关包​​​​​​​

[root@localhost ~]# yum -y install libaio numactl-libs

 

2.2、设置用户和组

[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql -s /bin/false mysql

 

2.3、准备程序文件

[root@localhost ~]# ll /app/
total 0
drwxr-xr-x 9 root root 120 Mar 28 23:16 mysql-5.7.32-linux-glibc2.12-x86_64

[root@localhost app]# mv mysql-5.7.32-linux-glibc2.12-x86_64/ mysql

[root@localhost app]# ls
3307  3308  3309  mysql
[root@localhost app]# tree 3307
3307
├── data
└── my.cnf

1 directory, 1 file

 

2.4、配置环境变量

[root@localhost local]# echo "PATH=/usr/local/mysql/bin:$PATH" >/etc/profile.d/mysql.sh
[root@localhost local]# . /etc/profile.d/mysql.sh 

 

2.5、准备配置文件

[root@localhost 3307]# cat my.cnf 
[mysqld]
basedir=/app/mysql
datadir=/app/3307/data
socket=/app/3307/mysql.sock
log_error=/app/3307/mysql.log
port=3307
server_id=7
log_bin=/app/3307/mysql-bin

[root@localhost system]# cat /app/3308/my.cnf 
[mysqld]
basedir=/app/mysql
datadir=/app/3308/data
socket=/app/3308/mysql.sock
log_error=/app/3308/mysql.log
port=3308
server_id=8
log_bin=/app/3308/mysql-bin

[root@localhost system]# cat /app/3309/my.cnf 
[mysqld]
basedir=/app/mysql
datadir=/app/3309/data
socket=/app/3309/mysql.sock
log_error=/app/3309/mysql.log
port=3309
server_id=9
log_bin=/app/3308/mysql-bin

2.6、初始化三个实例

mysqld --initialize-insecure  --user=mysql --datadir=/app/3307/data --basedir=/app/mysql
mysqld --initialize-insecure  --user=mysql --datadir=/app/3308/data --basedir=/app/mysql
mysqld --initialize-insecure  --user=mysql --datadir=/app/3309/data --basedir=/app/mysql

2.7 systemd管理多实例

cd /etc/systemd/system
cp /app/mysql/support-files/mysql.service mysqld3307.service
cp /app/mysql/support-files/mysql.service mysqld3308.service
cp /app/mysql/support-files/mysql.service mysqld3309.service

[root@localhost system]# cat mysqld3307.service 
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/app/mysql/bin/mysqld --defaults-file=/app/3307/my.cnf
LimitNOFILE = 5000

vim mysqld3308.service
ExecStart=/app/mysql/bin/mysqld  --defaults-file=/data/3308/my.cnf
vim mysqld3309.service
ExecStart=/app/mysql/bin/mysqld  --defaults-file=/data/3309/my.cnf

chown -R mysql.mysql /app/* #授权

2.8、启动多实例

systemctl start mysqld3307.service
systemctl start mysqld3308.service
systemctl start mysqld3309.service

2.9、验证

[root@localhost ~]# netstat -lnp|grep 330
[root@localhost ~]# mysql -S /app/3309/mysql.sock 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.32-log MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值