日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql-bin磁盘满数据库重启不_liunx磁盘空间满了,导致mysql数据库无法启动

發布時間:2023/12/10 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql-bin磁盘满数据库重启不_liunx磁盘空间满了,导致mysql数据库无法启动 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何啟動/遏制/重啟MySQLA、

1、啟動圓式

1、哄騙 service 啟動:service mysqld start

2、哄騙 mysqld 腳本啟動:/etc/inint.d/mysqld start

3、哄騙 safe_mysqld 啟動:safe_mysqld&

二、遏制

1、哄騙 service 啟動:service mysqld stop

2、哄騙 mysqld 腳本啟動:/etc/inint.d/mysqld stop

3、mysqladmin shutdown>

三、重啟

1、 哄騙 service 啟動:service mysqld restart

2、哄騙 mysqld 腳本啟動:/etc/inint.d/mysqld restart

提問 編輯摘要

如何啟動/遏制/重啟MySQL

1、 啟動圓式

1、哄騙 service 啟動:service mysqld start

2、哄騙 mysqld 腳本啟動:/etc/inint.d/mysqld start

3、哄騙 safe_mysqld 啟動:safe_mysqld&

二、遏制

1、哄騙 service 啟動:service mysqld stop

2、哄騙 mysqld 腳本啟動:/etc/inint.d/mysqld stop

3、mysqladmin shutdown

三、重啟

1、哄騙 service 啟動:service mysqld restart

2、哄騙 mysqld 腳本啟動:/etc/inint.d/mysqld restart

剛開初教mysql時都是用redhat自帶的。啟動是甚么 /rc.d/init.d/ start

這很簡單,但是后去越教越多,體系自帶的mysql,有的是版本太低,有的是與

本人想要裝的web供職需要的低版本的mysql

后去本人教著以tar的圓式安裝mysql,我的mysql裝正在/usr/local/mysql目錄下啟

動碰到過很多題目。最常睹的是:

ERROR 2002: Can"t connect to local MySQL server through

socket

"/tmp/mysql.sock" (111)

解決法子:

[root@test mysql]# /usr/local/mysql/bin/mysqladmin -u root

/

> -S /var/lib/mysql/mysql.sock password

"your.passwd"

或者做個銜接

ln -s /var/lib/mysql/mysql.sock /tmp

實在提示找不到 /tmp/mysql.sock有時也實在不是/tmp目錄下沒這個文件,是啟動

下令不開毛病,我碰到過

常睹的幾種啟動圓式,本人也不是記得很 渾楚,若是你一定tmp下有mysql.sock這

個文件不妨試試另中的幾個下令

/usr/local/mysql/bin/mysql -u root -p

/usr/local/mysql/bin/mysqld --user=mysql&

/usr/local/mysql/bin/mysqld --user=root&

/usr/local/mysql/bin/mysqld_safe --user=root&

/usr/local/mysql/bin/mysqld_safe --user=mysql&

/usr/local/mysql/bin/safe_mysqld--uer=root&(重視safe_mysqld與mysqld_safe是不同的,&默示mysql正在后臺運轉)我的就會報錯了

STOPPING server from pid file

/usr/local/mysql/data/localhost.localdomain.pid

060304 11:46:21 mysqld ended

這是權限題目,我的mysql目錄屬于root用戶,也屬于root群組,改用mysqld_safe啟動就沒題目了,

大師只要重視這幾個mysql,safe_mysqld,mysqld_safe,mysqld,mysqladmin.多試

屢次

實在有時mysql已正 常啟動了,查察mysql是可啟動下令

ps -aux | grep mysqld

會看到以下相通內容

mysql 6394 0.0 1.5 10528 992 pts/3 S 16:16 0:00

/usr/local/mysql/

mysql 6395 0.0 1.5 10528 992 pts/3 S 16:16 0:00

/usr/local/mysql/

mysql 6396 0.0 1.5 10528 992 pts/3 S 16:16 0:00

/usr/local/mysql/

root 6422 0.0 1.1 2408 732 pts/3 S 16:20 0:00 grep

mysql

查察mysql是可正在監 聽端心下令

netstat -tl | grep mysql

會看到以下相通內容

tcp 0 0 *:mysql *:* LISTEN

LINUX供職器如何刪除mysql-bin.0000X 日志文件呢?

http://hi.百度.com/fj3704/item/7203ea4051798a16886d1052>

用ports安裝了mysql當前,過一段時間收現/var空間不敷了,查一下,會收現是mysql-bin.000001、mysql-bin.000002等文件占用了空間,那么這些文件是干嗎的?這是數據庫的操做日志,例如UPDATE一個表,或者DELETE一些數據,即使該語句沒有婚配的數據,這個下令也會存儲到日志文件中,還包孕每個語句執止的時間,也會紀錄出來的。

如許做主要有以下兩個目的:

1:數據光復

若是你的數據庫出題目了,而你之前有過備份,那么可以看日志文件,找出是哪個下令招致你的數據庫出題目了,想法子挽回喪得。

2:主從供職器之間同步數據

主供職器上所有的操做都正在紀錄日志中,從供職器可以根據該日志去進止,以確保兩個同步。

處置法子分兩種環境:

1:只有一個mysql供職器,那么可以簡單的正文失落這個選項就止了。

vi /etc/my.cnf把里里的log-bin這一止正文失落,重啟mysql供職即可。

2:若是你的環境是主從供職器,那么就需要做以下操做了。

A:正在每個從屬供職器上,哄騙SHOW SLAVE STATUS去搜檢它正正在讀與哪個日志。

B:哄騙SHOW MASTER LOGS得到主供職器上的一系列日志。

C:正在所有的從屬供職器中鑒定最早的日志,這個是方針日志,若是所有的從屬供職器是更新的,就是渾單上的末了一個日志。

D:渾理所有的日志,但是不包孕方針日志,因為從供職器還要跟它同步。

渾理日志法子為:

PURGE MASTER LOGS TO "mysql-bin.010";

PURGE MASTER LOGS BEFORE "2008-12-19 21:00:00";

若是你一定從供職器已同步過了,跟主供職器一樣了,那么可以直接RESET MASTER將這些文件刪除。

======================================

之前收現本人10G的供職器空間巨細,用了幾天就剩下5G了,本人上傳的文件才僅僅幾百M而已,終究是甚么器材占用了這么大空間呢?古天有時間完齊去查了一下:

>

看下上里的目錄web根目錄是放正在/home

里里的,所有文件加起去才不到300M,而供職器上已占用了近5G空間,可駭吧,末了經我一步一步查詢得知,正本是這個文件夾占了十分多的空間資本:

>

正本如此,是mysql文件夾下的var目錄占用空間最大,那邊里是啥 內容呢?我們去看下:

>

收現了如此多的

mysql-bin.0000X文件,這是甚么器材呢?正本這是mysql的操做日志文件.我才幾十M的數據庫,操做日志居然快3G巨細了.

如何刪除mysql-bin.0000X 日志文件呢?

紅色默示輸進的下令.

[root@jiucool var]# /usr/local/mysql/bin/mysql -u root -p

Enter password:?(輸進密碼)

Welcome to the MySQL monitor.?Commands end

with ; or /g.

Your MySQL connection id is 264001

Server version: 5.1.35-log Source distribution

Type ‘help;’ or ‘/h’ for help. Type ‘/c’ to clear the current input

statement.

mysql> reset master; (渾除日志文件)

Query OK, 0 rows affected (8.51 sec)

mysql>

好了,我們再去查察下mysql文件夾占用幾許空間?

[root@jiucool var]# du -h –max-depth=1

/usr/local/mysql/

37M?/usr/local/mysql/var

70M?/usr/local/mysql/mysql-test

15M?/usr/local/mysql/lib

448K?/usr/local/mysql/include

2.9M?/usr/local/mysql/share

7.6M?/usr/local/mysql/libexec

17M?/usr/local/mysql/bin

11M?/usr/local/mysql/docs

2.9M?/usr/local/mysql/sql-bench

163M?/usr/local/mysql/

好了,看一下,掃數mysql

目錄才占用163M巨細!OK,沒題目,既然mysql-bin.0000X日志文件占用這么大空間,存正在的意義又不是額外大,那么我們就不讓它生成吧.

[root@jiucool var]# find / -name my.cnf

找到了my.cnf 即mysql設置裝備擺設文件,我們將log-bin=mysql-bin 這條正文失落即可.

my.cnf 文件一樣泛泛正在/ETC/目錄下

# Replication Master Server (default)

# binary logging is required for replication

#log-bin=mysql-bin

重啟下mysql吧.

OK,至此,操做完成. 當前再不會因為就幾十M的數據庫巨細生成N個G的日志文件啦

C、

因為硬盤滿了,mysql啟動不起去了。登錄上去看了一下,收現本因。

刪除mysql的日志文件,重啟mysql收現毛病:Starting MySQL.Manager of pid-file quit

without updating file.[FAILED]

網上有很多這個本因的注釋,但是都不是我想講的。我要講的本因實在很癡人:data/mysql-bin.index沒有刪除,data/mysql-bin.index是存放日志文件索引的文件,只刪除了日志文件而沒有對日志的索引文件做處置明顯是不止的。

刪除data/mysql-bin.index文件,再service mysqld start即可以了。

很久沒有寫日志了,我還沒有健忘這里。

D、

ps -ef |?grep mysqld 查詢mysql的進程

df -f查詢磁盤空間信息

du --max-depth=1查詢目錄中最大的文件

du

-h?/目錄查詢文件巨細

E、設置姑且ip信息

ifconfig eth0 192.168.1.33?netmask?255.255.255.0 up

eth0是要設置的網卡,192.168.1.33是要設置的IP,255.255.255.0是子網掩碼

設置網閉

route add default gw 192.168.1.1

若是網線連著路由器>,該當即可以哄騙了

ping下ip,再ping域名,若是域名ping欠亨,設置dns

echo "nameserver 8.8.8.8">> /etc/resolv.conf

echo "nameserver 8.8.4.4">> /etc/resolv.conf

告訴網閉更新信息:

/etc/init.d/network restart

總結

以上是生活随笔為你收集整理的mysql-bin磁盘满数据库重启不_liunx磁盘空间满了,导致mysql数据库无法启动的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。