溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL常用到的技術

發布時間:2020-06-01 16:26:53 來源:網絡 閱讀:319 作者:三月 欄目:MySQL數據庫

本文主要給大家介紹MySQL常用到的技術,文章內容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下MySQL常用到的技術吧。

部署數據庫

apt-get update

問題 可能報錯

rm /var/lib/apt/lists/lock 

dpkg --configure -a

apt-get install mysql-server

彈框----輸入密碼 確認密碼   /// 也可以mysql_secure_installation配置

mysql  -uroot -p'12345'

主從配置

<master>

1、修改主配置文件

vim /etc/mysql/mysql.cnf

[mysqld]
log-bin=master-bin  //啟動MySQL二進制日志
server-id=100      
log_bin_index = master-bin.index    //指定記錄二進制日志的數據庫
binlog_do_db = my_data    //指定記錄二進制日志的數據庫
binlog_ignore_db = mysql   //指定不記錄二進制日志的數據庫
...
#bind 127.0.0.1 注釋掉

2、登錄主云服務器創建從云服務器用到的賬戶和權限:

mysql>grant replication slave on *.* to slave@39.105.177.38 identified by '12345';
mysql> flush privileges;

問題 授權這塊root@39.105.177.38兩者 加單引號 會出錯  未證實

授權給想要登錄的主機

bind   0.0.0.0

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.8' IDENTIFIED BY 'www.linuxidc.com' WITH GRANT OPTION;

3、重啟mysql

service mysql restart

4、查看狀態

MySQL常用到的技術      


<slave>

1、編輯配置文件

[mysqld]
log_bin=slave-bin
server-id = 2
relay-log = slave-relay-bin
relay-log-index = slave-relay-bin.index
...
#bind 127.0.0.1 注釋掉

2、重啟服務

service mysql restart

3、登錄Slave從云服務器,連接Master主云服務器

mysql> change master to master_host='39.96.73.99',master_user='slave',master_password='12345',master_log_file='master-bin.000001',master_log_pos=154;

4、啟動Slave數據同步。

mysql>start slave;

5、查看Slave信息:

mysql>show slave status\G;

#同步成功

MySQL常用到的技術      


問題 如果不成功 主從上均執行一下命令

MySQL常用到的技術      

從庫中斷問題

報錯顯示:ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

大多是權限  和 log pos不一致

slave:      stop slave 
            reset slave
做以下的前提要保證:此刻從庫和主庫數據相同 要不然成功之后還會因缺少某條數據報錯        
master:     flush logs;         
            show master status;       記下File, Position。
slave:      CHANGE MASTER TO             
                      MASTER_LOG_FILE='file',MASTER_LOG_POS=pos;
            slave start;
            show slave status\G;

報錯        MySQL常用到的技術      

解決:stop slave ;

     set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;  #跳過slave上的1個錯誤

    start slave ;

線上MYSQL同步報錯故障處理總結 http://blog.itpub.net/15498/viewspace-2134013/

針對第三種 我試了直接三步https://blog.csdn.net/heng_ji/article/details/51013710

 


卸載mysql

sudo apt-get remove mysql-* 
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P    //清理殘留的數據

跳出一個對話框,選擇yes 


數據庫備份

注意是否需要my.cnf 里邊 解除注釋
備份:
    mysqldump -uroot -p12345 --all-databases --single-transaction  --
master-data=2  --flush-logs  >  /alidata/`date +%F-%H%M`-mysql-all.sql

數據恢復

    還原庫 mysql -uroot -p12345 < /alidata/backup/mysql-all.sql
    導表: mysql -uroot -p12345 進去數據庫
          use cw100;  
          source /root/crm.sql  在相應表里將外表倒進去

一個完整的備份腳本例子

#!/bin/bash
# Program
# use mysqldump to Fully backup mysql data per week!
# 2017-8-28 huangwei
# History
# Path
BakDir=/var/lib/mysql/backup
LogFile=/var/lib/mysql/backup/fullBakLog.log
Date=`date +%Y%m%d`
Begin=`date +"%Y年%m月%d日 %H:%M:%S"`
cd $BakDir
DumpFile=$Date.sql
GZDumpFile=$Date.sql.tgz
mysqldump -uroot -pcw100SQ18 --all-databases > $DumpFile
/bin/tar -zvcf $GZDumpFile $DumpFile
/bin/rm $DumpFile


#只保留過去四周的數據庫內容
count=$(ls -l *.tgz |wc -l)
if [ $count -ge 5 ]
then
file=$(ls -l *.tgz |awk '{print $9}'|awk 'NR==1')
rm -f $file
fi


Last=`date +"%Y年%m月%d日 %H:%M:%S"`
echo 開始:$Begin 結束:$Last $GZDumpFile succ >> $LogFile
#cd $BakDir/daily
#/bin/rm -f

查看binlog日志

eg:
/usr/bin/mysqlbinlog  --no-defaults  --base64-output=decode-rows   -v  --database=cw100   --start-datetime="2019-04-17 08:00:00"   --stop-datetime="2018-07-18 11:00:00"   /usr/lib/mysql/mysql-bin.000154 > /root/binlog.txt

看完以上關于MySQL常用到的技術,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業知識信息 ,可以持續關注我們的行業資訊欄目的。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女