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

/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();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章