week18-MySQL
2019-08-16 本文已影响0人
刘Huai
1. 介绍和安装
1.1 企业常用版本
5.6 :
5.6.34 5.6.36 5.6.38 5.6.40
5.7 :
5.7.18 5.7.20 5.7.24
1.2 Mysql的多种安装方式
yum (yum 安装的是mariadb)
二进制 常用
源码包
1.3 规划和部署
上传安装包1.3.1 创建所需目录
安装目录 /application/mysql
数据存放 /data/mysql/data
mkdir -p /application /data/mysql/data
创建目录
·
1.3.2 创建mysql用户(用于管理数据库服务)
useradd -s /sbin/nologin -M mysql
1.3.3 权限设定(如果权限不统一,会出现样式错误,或者网站内无法上传)
chown -R mysql.mysql /data /application
将文件解压出来,解压出来之后的目录重命名为 mysql1.3.4 环境变量的设置
vim /etc/profile
export PATH=/application/mysql/bin:$PATH # 确保路径正确,且有指定目录,将此行代码复制到/etc/profile
source /etc/profile
1.3.5 初始化系统数据
rpm -qa|grep mariadb 检查是否有mariadb包,会造成冲突 (新环境会存在这个问题)
yum remove -y mariadb-libs 卸载
yum install -y libaio-devel 依赖包安装
mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql/data
初始化系统数据
mariadb-libs 卸载掉
安装依赖包
数据初始化
检查数据目录是否有数据MySQL数据块初始化时,会产生警告;但没有报错,那么表示初始化成功;
PS: 如果初始化失败,查看/etc/是否有一个 my.cnf 的文件,将其移走或者删除,旧环境可能会有这个问题,新环境不会
1.3.6 准备启动脚本(C7 支持两种启动方式)
1.3.6.1 sys-v Centos 6中通用的方式
service mysqld start 启动服务
service myqld stop 停止服务
/etc/init.d/mysqld start 启动服务
/etc/init.d/mysqld stop 停止服务
systemd Centos 7中的通用方式
systemc strat mysqld 启动服务
systemctl stop mysqld 停止服务
sys-v 方式的设置方法
在/application/mysql/support-files 有一个叫做mysql.server 软件准备好的启动脚本
sys-v 方式的启动脚本文件
将mysql.server 这个脚本文件放置到 /etc/init.d 目录下
'/etc/init.d是/etc/rc/init.d软链接文件'
'这个目录存放的是一些脚本,一般是linux以rpm包安装时设定的一些服务的启动脚本'
移动启动脚本文件
检查是否移动到/etc/init.d/
如果此时进行启动,会报错如下
PS: 这是因为数据库在启动的时候,会在/etc/寻找一个叫做my.cnf的配置文件,需要提前写好
vim /etc/my.cnf
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
创建成功后 就可以使用第一种启动方式
1. service mysql.server start / stop
2. /etc/init.d/mysql.server start / stop
第1中方法测试成功
第2中方法测试成功
systemd 方式的设置方法
在脚本启动文件中追加一段代码
cat > /etc/systemd/system/mysqld.service <<EOF
[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=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf ##注意此处,要根据数据库实际的安装路径填写
LimitNOFILE = 5000
EOF
在启动脚本文件中写入以上代码
PS: 因为刚刚安装数据库,所以没有密码