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

1.3.4 环境变量的设置

将文件解压出来,解压出来之后的目录重命名为 mysql
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
在启动脚本文件中写入以上代码

\color{red}{如果要使用systemd方式的管理启动,必须要把sys-v 启动方式启动的服务关闭掉,否则无法管理}

关闭掉sys-v 方式启动的服务 第二种方式测试成功 第二种方式测试成功

PS: 因为刚刚安装数据库,所以没有密码


上一篇下一篇

猜你喜欢

热点阅读