Showing posts with label MySQL. Show all posts
Showing posts with label MySQL. Show all posts

October 30, 2020

September 16, 2016

Upgrading MySQL 5.3 to 5.6 MySQL Daemon failed to start (CentOS 6)


Operating System: CentOS 6.8
Arch : x86_64
Symptom MySQL service failed to start after upgrading from MySQL 5.3.3 to 5.6 version.
Given below is the error found after upgrading to MySQL server version 5.6 from 5.3. You can get the below error in MySQL error log file.

2014-11-29 02:22:56 2175 [ERROR] InnoDB: auto-extending data file ./ibdata1 is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pages!
2014-11-29 02:22:56 2175 [ERROR] InnoDB: Could not open or create the system tablespace. If you tried to add new data files to the system tablespace, and it failed here, you should now edit innodb_data_file_path in my.cnf back to what it was, and remove the new ibdata files InnoDB created in this failed attempt. InnoDB only wrote those files full of zeros, but did not yet use them in any way. But be careful: do not remove old data files which contain your precious data!
2014-11-29 02:22:56 2175 [ERROR] Plugin ‘InnoDB’ init function returned error.
2014-11-29 02:22:56 2175 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
2014-11-29 02:22:56 2175 [ERROR] Unknown/unsupported storage engine: InnoDB
2014-11-29 02:22:56 2175 [ERROR] Aborting
Solution :
To solve this problem add the below given line in /etc/my.cnf file inside [mysqld] block.
innodb_data_file_path = ibdata1:10M:autoextend
Now restart the mysql service.
service mysqld restart
I hope the issue is resolved for you also.

August 25, 2016

MYSQL BAKUP USING SHELLS SCRIPTS



Kindly find the MYSQL shells scripts in given below.

-------------------------------------------------------------------------------------------------------

#! /bin/bash

# You are free to modify and distribute this code,
# so long as you keep my name and URL in it.

# your MySQL server's name
SERVER=10.0.0.125

# directory to backup to
BACKDIR=/root/mysqlbackup/

# date format that is appended to filename
DATE=`date +'%m-%d-%Y'`

#----------------------MySQL Settings--------------------#

# your MySQL server's location (IP address is best)
HOST="10.0.0.125"

# MySQL username
USER="root"

# MySQL password
PASS="xxxxx"

# List all of the MySQL databases that you want to backup in here, 
# each separated by a space
DBS="XXXX"

# set to 'y' if you want to backup all your databases. this will override
# the database selection above.
DUMPALL="n"


#----------------------Mail Settings--------------------#

# set to 'y' if you'd like to be emailed the backup (requires mutt)
MAIL=y

# email addresses to send backups to, separated by a space
EMAILS="suppport@magicalbinary.com"

SUBJECT="MySQL backup on $SERVER ($DATE)"

#----------------------FTP Settings--------------------#

# set "FTP=y" if you want to enable FTP backups
FTP=n

# FTP server settings; should be self-explanatory
FTPHOST="10.0.0.127"
FTPUSER="XXX"
FTPPASS="XXX"

# directory to backup to. if it doesn't exist, file will be uploaded to 
# first logged-in directory
FTPDIR="/home/value"

#-------------------Deletion Settings-------------------#

# delete old files?
DELETE=y

# how many days of backups do you want to keep?
DAYS=6

#----------------------End of Settings------------------#
# check of the backup directory exists
# if not, create it
if  [ -e $BACKDIR ]
then
    echo Backups directory already exists
else
    mkdir $BACKDIR
fi

if  [ $DUMPALL = "y" ]
then
    echo "Creating list of all your databases..."

    mysql -h$HOST -u$USER -p$PASS "dlr" "dlr"  > dbs_on_$SERVER.txt

    # redefine list of databases to be backed up
    DBS=`sed -e ':a;N;$!ba;s/\n/ /g' -e 's/Database //g' dbs_on_$SERVER.txt`
fi

echo "Backing up MySQL databases...$DBS"
read p1
for database in $DBS
do
    mysqldump -h$HOST -u$USER -p$PASS $database dlr > "$BACKDIR/$SERVER-mysqlbackup-$database-$DATE.sql"
    gzip -f -9 "$BACKDIR/$SERVER-mysqlbackup-$database-$DATE.sql"

# if you have the mail program 'mutt' installed on
done
# your server, this script will have mutt attach the backup
# and send it to the email addresses in $EMAILS

if  [ $MAIL = "y" ]
then
BODY="Your backup is ready, please check"
ATTACH=`for file in $BACKDIR/*$DATE.sql.gz; do echo -n "-a ${file} ";  done`

    echo "$BODY" | mutt -s "$SUBJECT" $ATTACH $EMAILS
        
    echo -e "Your backup has been emailed to you! \n"
fi

if  [ $FTP = "y" ]
then
echo "Initiating FTP connection..."
cd $BACKDIR
ATTACH=`for file in *$DATE.sql.gz; do echo -n -e "put ${file}\n"; done`

    ftp -nv <<EOF
    open $FTPHOST
    user $FTPUSER $FTPPASS
    cd $FTPDIR
    $ATTACH
    quit
EOF
echo -e  "FTP transfer complete! \n"
fi

if  [ $DELETE = "y" ]
then
    find $BACKDIR -name "*.sql.gz" -mtime $DAYS -exec rm {} \;

    if  [ $DAYS = "1" ]
    then
        echo "Yesterday's backup has been deleted."
    else
        echo "The backup from $DAYS days ago has been deleted."
    fi
fi

echo Your backup is complete!

February 1, 2016

Hướng dáș«n remote mysql [đáș·t 1 code ở 1 VPS, data ở VPS khĂĄc]

káșżt nối code ở 1 VPS với 1 data ở 1 VPS khĂĄc. CáșŁ 2 đều cháșĄy VPSSIM (nginx, mysql cháșĄy mariadb vĂ  PHP nhÆ° chĂșng ta đã biáșżt). HĂŽm nay mĂŹnh hướng dáș«n cĂĄc báșĄn coi nhÆ° lĂ  1 TUT cho những ai cáș§n nhĂ©.

CĂĄch lĂ m khĂĄ Ä‘ÆĄn giáșŁn, cĂĄc báșĄn cĂł thể ĂĄp dỄng cho mọi VPS vĂ  Hosting (cĂł hỗ trợ tĂ­nh năng remote mysql).
1, Trước tiĂȘn lĂ m sao để biáșżt VPS hay Host cĂł hỗ trợ remote mysql (trĂȘn VPS or Host chứa data thĂŽi nhĂ© cĂČn bĂȘn VPS/Host chứa code thĂŹ khĂŽng cáș§n):
  • TrĂȘn VPS chứa data: cĂĄc báșĄn xem trong file /etc/my.cnf (file nĂ y trĂȘn VPSSIM thĂŹ nĂł ở /etc/my.cnf.d/server.cnf náșżu cĂł chứa dĂČng sau thĂŹ cĂĄc báșĄn xĂła nĂł đi nhĂ©:
    bind-address = 127.0.0.1 (xĂła dĂČng nĂ y đi)
  • TrĂȘn Hosting (ở đñy mĂŹnh vĂ­ dỄ lĂ  Directadmin cĂČn trĂȘn CP11 thĂŹ mĂŹnh ko rĂ” lĂ  cĂł nhÆ° váș­y ko vĂŹ chÆ°a lĂ m trĂȘn CP11 bao giờ) thĂŹ cĂĄc báșĄn áș„n vĂ o Mysql Management


Náșżu Host cho phĂ©p remote thĂŹ khi cĂĄc báșĄn áș„n vĂ o tĂȘn data cáș§n remote từ bĂȘn khĂĄc sang, cĂĄc báșĄn sáșœ tháș„y chức năng Add Host nhÆ° hĂŹnh dưới đñy:


2, CĂĄc bước lĂ m nhÆ° sau:
a, Náșżu cĂĄc báșĄn sá»­ dỄng 1 VPS chứa data.
- HĂŁy truy cáș­p vĂ o phpmyadmin (trĂȘn VPS ko cĂ i phpmyadmin thĂŹ mĂŹnh cháșŻc lĂ  cĂĄc báșĄn tá»± biáșżt cĂĄch lĂ m tÆ°ÆĄng tá»± ) vĂ  vĂŽ pháș§n User, táșĄo 1 user mới báș±ng cĂĄch nháș„n vĂ o Add userngay bĂȘn dưới nhÆ° hĂŹnh dưới đñy:


  • HĂŁy điền cĂĄc thĂŽng số User Name, Host, Password vĂ  Re-type của password. ChĂș Ăœ mỄc Host hĂŁy chọn Use text field sau đó điền ip của VPS/Host chứa code nhÆ° hĂŹnh dưới:

CĂĄc mỄc khĂĄc cĂĄc báșĄn khĂŽng lĂ m gĂŹ cáșŁ rồi áș„n Go dưới cĂčng.
  • Rồi giờ thĂŹ hĂŁy add user đó vĂ o data mĂ  cĂĄc báșĄn muốn remote báș±ng cĂĄch quay láșĄi pháș§n User vĂ  chọn Edit Previleges :

  • Sau đó click vĂ o Database:


Click chọn 1 database mĂ  cĂĄc báșĄn muốn remote rồi áș„n Go nĂł sáșœ đưa báșĄn đáșżn mỄc Database-specific privileges, hĂŁy Check all rồi áș„n Go tiáșżp:


  • Váș­y lĂ  xong bĂȘn VPS chứa data, qua bĂȘn VPS/Host chứa code, cĂĄc báșĄn mở file config data lĂȘn, thay vĂŹ điền localhost hĂŁy điền ip của bĂȘn VPS chứa data, thĂŽng tin khĂĄc thĂŹ cĆ©ng điền cho khớp với bĂȘn VPS chứa data.
  • Rồi táș­n hưởng thĂ nh quáșŁ thĂŽi!!!
b, Náșżu cĂĄc báșĄn sá»­ dỄng Host để chứa data:
- CĂĄc báșĄn chỉ cáș§n vĂŽ Host, vĂ o Mysql Management, click vĂ o tĂȘn data muốn remote, bĂȘn dưới cĂĄc báșĄn điền ip của bĂȘn VPS/Host chứa code vĂ  áș„n Add Host nhÆ° hĂŹnh dưới đñy:


  • Váș­y lĂ  xong bĂȘn VPS chứa data, qua bĂȘn VPS/Host chứa code, cĂĄc báșĄn mở file config data lĂȘn, thay vĂŹ điền localhost hĂŁy điền ip của bĂȘn Host chứa data, thĂŽng tin khĂĄc thĂŹ cĆ©ng điền cho khớp với bĂȘn Host chứa data.
NhĂŹn thĂŹ cĂł váș» phức táșĄp nhÆ°ng nĂłi tháș­t lĂ  lĂ m chỉ máș„t máș„y phĂșt lĂ  xong. BĂ i viáșżt nĂ y Ä‘Æ°á»Łc mĂŹnh tá»± tay biĂȘn soáșĄn, náșżu copy, xin hĂŁy ghi rĂ” nguồn nhĂ©. Xin cáșŁm ÆĄn.

nguồn: http://diendan.w4vn.net/t/topic/28

September 7, 2015

TáșĄo crontab tá»± động báș­t láșĄi MySQL khi bị stop trĂȘn VPS/Server

Với những VPS cĂł RAM Ă­t vĂ  báșĄn khĂŽng rĂ” về config MySQL dáș«n tới hiện tÆ°á»Łng thi thoáșŁng website quĂĄ táșŁi vĂ  bị lỗi khĂŽng thể káșżt nối tới database. BĂ i viáșżt nĂ y sáșœ hướng dáș«n báșĄn cĂĄch kháșŻc phỄc lỗi cháșżt MySQL vĂ  táșĄo crontab  tá»± động khởi động láșĄi dịch vỄ MySQL trĂȘn VPS/Server khi  website bị hiển thị lỗi tÆ°ÆĄng tá»± nhÆ° dưới:

Error establishing a database connection

This either means that the username and password information in your wp-config.php file is incorrect or we can’t contact the database server at localhost. This could mean your host’s database server is down.
  • Are you sure you have the correct username and password?
  • Are you sure that you have typed the correct hostname?
  • Are you sure that the database server is running?
If you’re unsure what these terms mean you should probably contact your host. If you still need help you can always visit the WordPress Support Forums.

1. Lệnh báș­t láșĄi dịch vỄ MySQL

TrĂȘn VPS Centos 
Centos 6 (MariaDB cĆ©ng dĂčng chung lệnh) :
Hoáș·c:
Centos 7
MySQL:
MariaDB:
 TrĂȘn VPS Ubuntu
Hoáș·c
TĂčy trường hợp cỄ thể trĂȘn server của báșĄn lĂ  mysql hay mysqld mĂ  báșĄn chọn lệnh.

tu dong khoi dong lai mysql

2. TáșĄo Crontab tá»± động khởi động (báș­t ) láșĄi MySQL

Khi service MySQL bị stop trĂȘn VPS do quĂĄ táșŁi hoáș·c thiáșżu RAM, ta sáșœ dĂčng lệnh trĂȘn để báș­t láșĄi. NgoĂ i ra, báșĄn cĂł thể táșĄo một crontab tá»± động check MySQL náșżu dịch vỄ nĂ y đang bị stop thĂŹ tá»± động báș­t láșĄi.
Trước tiĂȘn cáș§n táșĄo một file đáș·t tĂȘn lĂ  auto-start-mysql cháșłng háșĄn, ta đáș·t file nĂ y trong folder root hoáș·c folder tĂčy Ăœ báșĄn chọn. Sau đó chmod file nĂ y báș±ng lệnh:
Để thĂȘm  vĂ o VPS crontab tá»± động cháșĄy auto-start-mysql 5 phĂșt 1 láș§n  ta dĂčng lệnh:
Nội dung của  file auto-start-mysql  nhÆ° sau:
TrĂȘn VPS Centos
Centos 6:
Centos 7:
MySQL:
MariaDB:
 TrĂȘn VPS Ubuntu
MySQL:
MariaDB: