安装mysql(通用二进制格式)
第一步:准备mysql的配置文件(不再提供配置文件模版)
首先需要从网络下载一个my.cnf文件,放在/etc下
说明:
`/usr/local/mysql`
`/data/mysql/mysql3306/data`
`/data/mysql/mysql3306/tmp`
`/data/mysql/mysql3306/logs/mysql-bin`
`/tmp/mysql3306.sock`
第二步:安装mysql
# groupadd mysql
# useradd -r -g mysql -s /sbin/nologin mysql
# tar xf /root/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
# mv mysql-5.7.23-linux-glibc2.12-x86_64 /usr/local/
# cd /usr/local
# ln -sv mysql-5.7.23-linux-glibc2.12-x86_64/ mysql
# chown mysql.mysql mysql -R
第三步:创建相关目录
# mkdir /data/mysql/mysql3306/{data,tmp,logs} -pv
# chown -R mysql.mysql /data
第四步:初始化
(生成mysql的系统表和库)
# /usr/local/mysql/bin/mysqld --initialize --user=mysql
说明:
1. --user是用于指定以哪个用户的身份完成初始化工作(默认从配置文件中读取)
2. 数据目录下如果有文件,会导致初始化失败
初始化完成后,会在数据目录下生成一系列文件
# cd /data/mysql/mysql3306/data/
# ls
auto.cnf error.log ib_buffer_pool ibdata1 ib_logfile0 ib_logfile1 ib_logfile2 mysql performance_schema slow.log sys
说明:
error.log中保存了安装、启动、运行mysql过程中所出现的错误信息出,初始root密码也在其中
获取root的初始密码
# cat /data/mysql/mysql3306/data/error.log | grep password
补充:
用--initialize-inseucre来做初始化的时候,root的初始密码为空
第五步:启动mysql
# /usr/local/mysql/support-files/mysql.server start
第六步:导出二进制
## 第七步:登录mysql
# mysql -uroot -p密码
## 第八步:重置mysql的root密码
mysql> ALTER USER user() IDENTIFIED BY "123"; >>>修改密码
mysql> show databases; >>>显示表
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+第九步:生成服务管理脚本
**centos5、6**
# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
# chkconfig --add mysqld
# chkcongig mysqld on
# service msyqld start|stop....
**centos7**
# vim mysql3306.service
[Unit]
Description=mysql 3306 service
[Service]
Type=forking
ExecStart=/bin/bash /usr/local/mysql/support-files/mysql.server start
ExecStop=/bin/bash /usr/local/mysql/support-files/mysql.server stop
ExecRestart=/bin/bash /usr/local/mysql/support-files/mysql.server restart
[Install]
WantedBy=multi-user.target
# mv mysql3306.service /usr/lib/systemd/system/
# systemctl enable mysql3306.service
# systemctl start mysql3306.service
# ss -tnl | grep 3306
# systemctl stop mysql3306.service
# ss -tnl | grep 3306
## 多实例
单个mysql服务会随着用户访问量增加导致性能急剧下降
提升服务器的资源使用率
降低单个mysql服务的并发请求量
## 第二个mysql实例,配置如下
端口:3307
安装位置: /usr/local/mysql
数据位置: /data/mysql/mysql3307/data
临时文件位置: /data/mysql/mysql3307/tmp
日志文件位置: /data/mysql/mysql3307/logs/mysql-bin
socket文件位置:/tmp/mysql3307.sock
配置文件: /data/mysql/mysql3307/my.cnf
## 第一步:创建相关目录
# mkdir /data/mysql/mysql3307/{tmp,data,logs} -pv
# chown -R mysql.mysql /data
## 第二步:生成配置文件
# cp /etc/my.cnf /data/mysql/mysql3307/
# sed -i 's/3306/3307/g' /data/mysql/mysql3307/my.cnf
# cat /data/mysql/mysql3307/my.cnf
## 第三步:初始化
# /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3307/my.cnf --initialize
## 第四步:启动mysql
# /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3307/my.cnf &
## 第五步:登录多实例
# mysql -uroot -pc-7ae#sgan1K -S /tmp/mysql3307.sock(初始化后,密码就有改变需要重新获取初始密码)
## 第三个mysql实例,配置如下
端口:3308
安装位置: /usr/local/mysql
数据位置: /data/mysql/mysql3308/data
临时文件位置: /data/mysql/mysql3308/tmp
日志文件位置: /data/mysql/mysql3308/logs/mysql-bin
socket文件位置:/tmp/mysql3308.sock
配置文件: /data/mysql/mysql3308/my.cnf
## 第一步:创建相关目录
# mkdir /data/mysql/mysql3308/{tmp,data,logs} -pv
# chown -R mysql.mysql /data
## 第二步:生成配置文件
# cp /etc/my.cnf /data/mysql/mysql3308/
# sed -i 's/3306/3308/g' /data/mysql/mysql3308/my.cnf
# cat /data/mysql/mysql3308/my.cnf
## 第三步:复制模版生成系统数据库文件
# cd /data/mysql/
# cp mysql3306/data/* mysql3308/data/ -a
## 第四步:启动实例
# /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3308/my.cnf &
# ss -tnl
## 第五步:登录实例
# mysql -uroot -pc-7ae#sgan1K -S /tmp/mysql3308.sock(使用模板的初始密码)
## 关闭mysql
mysqladmin -uUserName -pPassword -hIP -Pport -S /path/to/socket shutdown