mysql搭建文档

1、系统约定

Mysql目录安装位置:/mysql

数据库保存位置:/mydata/data 

日志保存位置:/mydata/log

# //创建mysql和mydata LV

# lvcreate -L 10g -n lv_mysql system

# lvcreate -L xxg -n lv_mydata system

# mkfs.xfs /dev/system/lv_mysql

# mkfs.xfs /dev/system/lv_mydata

# vi /etc/fstab  //加入

/dev/mapper/system-lv_mysql /mysql                    xfs    defaults        1 2

扫描二维码关注公众号,回复: 2288449 查看本文章

/dev/mapper/system-lv_mydata /mydata                    xfs    defaults        1 2

# //添加mysql组和用户

# groupadd -g 401 mysql

# useradd -u 401 -g mysql -s /sbin/nologin -d /mysql mysql

# mkdir -p /mysql

# mkdir -p /mydata

# mount -a

# df -h

# mkdir -p /mydata/data

# mkdir -p /mydata/log

# chown -R mysql:mysql /mysql

# chown -R mysql:mysql /mydata

2、安装配置

# cd /mysql

# bin/mysqld --initialize --user=mysql --basedir=/mysql --datadir=/mydata/data   //此处需要注意记录生成的临时密码

# bin/mysql_ssl_rsa_setup  --datadir=/mydata/data

# vi /etc/my.cnf   //将3配置参数加入即可

# bin/mysqld_safe --user=mysql &

# bin/mysql --user=root -p     //输入前面生成的临时密码

MYSQL> set password=password('mysql');  //修改mysql的root账户密码

MYSQL> grant all privileges on *.* to root@'localhost' identified by 'mysql' with grant option;

MYSQL> flush privileges;

MYSQL> use mysql;

MYSQL> select host,user from user; //验证

# //添加环境变量

# vi /etc/profile

# export PATH=/mysql/bin:$PATH

# source /etc/profile

# //设置自动启动

# cp support-files/mysql.server /etc/init.d/mysqld

# vi /etc/init.d/mysqld   //修改basedir=/mysql 和 datadir=/mydata/data

# cd /etc/init.d/

# chmod 755 /etc/init.d/mysqld

# chkconfig --add mysqld

# chkconfig --level 35 mysqld on

# chkconfig --list |grep mysqld

3、配置参数

####首先需要清空/etc/my.cnf文件中的所有内容,然后添加如下内容。在添加时注意以下的备注信息需要删除掉。######

[client]

port = 3306

socket = /mydata/data/mysql.sock

[mysql]

no-auto-rehash

[mysqld]

socket = /mydata/data/mysql.sock

basedir = /mysql

datadir = /mydata/data

max_allowed_packet = 36M

explicit_defaults_for_timestamp = true

skip-ssl

secure-file-priv = NULL

lower_case_table_names = 1

back_log = 300

max_connections = 1000

max_connect_errors = 100

table_open_cache = 4096

external-locking = FALSE

read_buffer_size = 8M

sort_buffer_size = 8M

join_buffer_size = 8M

thread_cache_size = 128

query_cache_size = 128M

query_cache_limit = 4M

ft_min_word_len = 8

thread_stack = 512k

transaction_isolation = REPEATABLE-READ

tmp_table_size = 128M

max_heap_table_size = 128M

innodb_log_file_size = 256M

long_query_time = 6

slow_query_log

slow_query_log_file = /mydata/log/slow.log

character_set_server=utf8

init_connect='SET NAMES utf8'

sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES'

secure_file_priv = /tmp

#innodb parameter add by gengjianqiu

#innodb_buffer_pool_size=8G      //如果服务器为独立的数据库服务器,只提供数据库服务,建议设置物理内存的80%,否则设置为60% .

innodb_buffer_pool_instances=8

innodb_flush_method=O_DIRECT

innodb_log_buffer_size=16M

innodb_log_file_size=500M

innodb_log_files_in_group=2

innodb_flush_log_at_trx_commit=2

sync_binlog=1

[mysqldump]

quick

max_allowed_packet = 32M

[mysqld_safe]

open-files-limit = 8192

log-error = /mydata/log/mysql_3306.err

4、本地备份设置

创建本地备份应遵循以下规范:

备份方式:crontab    //后续如有更好的方法待改进

脚本目录:/mysql/script      //涉及Mysql相关的自开发脚本均部署在该目录

备份目录:/mydata/dbbak

备份周期:1周   //根据实际情况定义

#操作如下:

mkdir -p /mysql/script

mkdir -p /mydata/dbbak

chown -R mysql:mysql /mysql/script

chown -R mysql:mysql /mydata/dbbak

#备份脚本参照以下修改即可。

#!/bin/sh

##################################

#mysql wechat库每天备份脚本

#author: xxxx

##################################

MYDUMP=/mysql/bin/mysqldump

MYUSER=XXXX

MYPASS=XXXX

$MYDUMP -u$MYUSER -p$MYPASS wechat |gzip > /mydata/dbbak/wechat_dump_`date +%Y%m%d`.sql.gz

find /mydata/dbbak/ -mtime +7 -name "wechat_dump*.gz" -exec rm -f {} \;

#注意备份文件大小,保留周期与目录空间情况。

 5、由5.7.13版本升级至5.7.21版本步骤

5.7.13升级5.7.21步骤

一、查看现有数据库版本并 停止数据库

# mysql -uroot -p

MYSQL> select version();

# /etc/init.d/mysqld stop

# ps -ef |grep mysql        // 确认数据库无进程,确实停止了。

二、更新程序包

# mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz   //获取最新安装程序包放在/tmp目录下 

# cd /tmp

# tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

# cd /mysql;rm -rf *     //进入原程序目录将程序全部删除

# mv -f /tmp/mysql-5.7.21-linux-glibc2.12-x86_64/* /mysql/

# rm -rf /tmp/mysql-5.7.21-linux-glibc2.12-x86_64

# chown -R mysql:mysql /mysql

三、启动数据库并进行更新

# cd /mysql

# bin/mysqld_safe --user=mysql &

# bin/mysql_upgrade -s -p

mysql_upgrade: [Warning] Using a password on the command line interface can be insecure.

The --upgrade-system-tables option was used, databases won't be touched.

Checking if update is needed.

Checking server version.

Running queries to upgrade MySQL server.

The sys schema is already up to date (version 1.5.1).

Upgrade process completed successfully.

Checking if update is needed.

四、更新自启动文件

# cp -rf /mysql/support-files/mysql.server /etc/init.d/mysqld

# vi /etc/init.d/mysqld   //修改basedir=/mysql 和 datadir=/mydata/data

五、难证数据库升级后的版本

# mysql -uroot -p

MYSQL> select version();

猜你喜欢

转载自blog.csdn.net/yongyong169/article/details/81133982