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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql丢失召回_mysql笔记

發(fā)布時間:2025/3/21 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql丢失召回_mysql笔记 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.1啟動與關閉mysql

單實例:

方法一:

/etc/init.d/mysqld start/stop

netstat -lnt|grep 3306

提示:/etc/init.d/mysqld由mysql程序中的mysql.server復制而來

方法二:

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

killall mysqld重復使用知道出現(xiàn)mysqld: no process killed

注意:關閉直到出現(xiàn)mysqld: no process killed表示完成關閉操作。方法二的關閉命令一般生產(chǎn)環(huán)境下不使用。

多實例:

/data/3306/mysql start/stop

/data/3307/mysql start/stop

1.2登錄mysql

單實例:

1.mysql----剛裝完系統(tǒng)無密碼情況登錄方式

2.mysql -uroot --------剛裝完系統(tǒng)無密碼情況登錄方式

3.mysql -uroot -p ------------這里標準命令行登錄命令

4.mysql -uroot -p'oldboy123'----------非腳本里一般不這樣用,密碼明文的會泄露密碼

多實例:

mysql -uroot -p -S /data/3306/mysql.sock

1.3mysql授權

CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';GRANT ALL ON db1.TO 'jeffrey'@'localhost';

意思兩條等同于GRANT ALL ON db1. TO 'jeffrey'@'localhost' IDENTIFIED BY 'mypass';

GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost';

GRANT USAGE ON . TO 'jeffrey'@'localhost' WITH MAX_QUERIES_PER_HOUR 90;

1.4設置修改mysql root用戶密碼

由于安裝mysql后,默認的管理員root密碼為空,很不安全,因此需要修改

mysqladmin -u root password 'ryan'

修改root密碼方法一

mysqladmin -u root -p'oldboy123' password 'oldboy'

修改root密碼方法二

mysql>UPDATE mysql.user SET password=PASSWORD("oldboy123") WHERE user='root';

mysql>FLUSH PRIVILEGES;

修改root密碼方法三

mysql安裝完畢后,root默認口令為空,需要馬上修改root口令

mysql>set password=password('oldboy123')

1.5 如何召回丟失的mysql密碼

單實例:

killall mysqld

mysqld_safe --skip-grant-table &

mysql -u root -p

update mysql.user set password=PASSWORD('123456') WHERE USER='root'

killall mysqld

重啟mysql服務/etc/init.d/mysqld start

多實例:

killall mysqld

mysqld_safe --defaults-file=/data/3306/my.cnf --skip-grant-table &

mysql -u root -p -S /data/3306/mysql.sock

修改密碼

mysql>UPDATE mysql.user SET password=PASSWORD("oldboy123") WHERE user='root';

mysql>FLUSH PRIVILEGES;

mysq>exit;

重啟登錄測試

killall mysqld

單實例:/etc/init.d/mysqld restart

多實例:/data/3306/mysql restart

二數(shù)據(jù)庫操作

create database ceshi;

show databases

drop database

select user,host from mysql.user;------------查看數(shù)據(jù)庫中的用戶

drop user "user"@"主機域"

help show

help show create;

show create database ceshi----------查看創(chuàng)建數(shù)據(jù)的腳本

select database()-------顯示當前庫

select user()------------顯示當前用戶

show tables

show create user

show variables like 'character_set%'-------------查看字符集

select version()-------------顯示數(shù)據(jù)庫版本

system whoami

system ls -l/

show tables from 數(shù)據(jù)庫

grant all privileges on 數(shù)據(jù)庫.to 123@localhost

revoke 權限 on 數(shù)據(jù)庫. from 123@localhost

show grants for 123@localhost ------------查看用戶權限

三、常用命令(常用增刪查改略)

select from test limit 6,5;-------查詢test中從7條記錄開始,查5條記錄

select from test limit 6;-----查詢6條記錄

上邊sql等同于select from test limit 0,6;

\G----------以列表顯示

desc mysql.user-----查看表結構

truncate table 表名-------------清空表

備份

在mysql命令中備份,system為跳出mysql執(zhí)行系統(tǒng)命令,執(zhí)行完畢再返回mysql

mysql>system mysqldump -uroot -p'oldboy'-A -B >/tmp/oldboy.sql

mysql>system ls -l /tmp/oldboy.sql

在linux中備份(-A表示完整備份,否則用-B指定多個數(shù)據(jù)庫)

mysqldump -uroot -p'oldboy' -S /data/3306/mysql.sock -B 數(shù)據(jù)庫名>/tmp/bak.sql

恢復

mysql -uroot -p'oldboy'-S /data/3307/mysql.sock

四、備份和恢復

set names gbk ------------------設置字符集

修改字段字符集后,再插入中文就不會亂碼了

也可在恢復時mysql的命令行中增加字符集defaults-character_set=gbk

mysql -uroot -p'oldboy' -e "select from oldboy.test;"

mysql -uroot -p'oldboy' -e "set names gbk;select * from oldboy.test;"

提示:1.文件本身字符集要正確gb2312

2.文件中加入set names gbk

更改my.cnf參數(shù)

[mysqld]

defaults-character_set=gbk ----------設置服務端server字符集和數(shù)據(jù)庫字符集

提示:1.在my.cnf配置文件里[mysqld]模塊下添加字符集配置,生效后,創(chuàng)建數(shù)據(jù)庫和表默認都是這個字符集。2.客戶端字符集設置,set names gbk,這樣可以確保插入后的中文不出現(xiàn)亂碼,對執(zhí)行set names gbk前插入的中文無效

*show variables like 'character_set%'

character_set_client gbk ####客戶端字符集,set names gbk

character_set_connection gbk ####連接字符集,set names gbk

character_set_database gbk ####數(shù)據(jù)庫字符集,配置文件指定或建庫建表指定

character_set_results gbk ####返回結果字符集,set names gbk

character_set_server gbk ####服務器字符集,配置文件指定或建庫建表指定

備份數(shù)據(jù)庫(多實例增加sock)(-A,-B使用)

mysqldump -u用戶 -p'oldboy' [-S /data/3306/mysql.sock ] --defaults-characterset=gbk 數(shù)據(jù)庫名>/tmp/bak$(date +%F).sql

mysqldump -u用戶 -p'oldboy' [-S /data/3306/mysql.sock ] --defaults-characterset=gbk 數(shù)據(jù)庫名 |gzip>/tmp/bak$(date +%F).sql.gz

提示:-B(創(chuàng)建數(shù)據(jù)庫,use 數(shù)據(jù)庫,切換數(shù)據(jù)庫)

egrep -v "#|*|--|^$" /tmp/bak_$(date +%F).sql

備份多個庫(必須使用-B)

mysqldump -u用戶 -p'oldboy' [-S /data/3306/mysql.sock ] --defaults-characterset=gbk -B 數(shù)據(jù)庫名1 數(shù)據(jù)庫名2>/tmp/bak$(date +%F).sql

mysqldump -u用戶 -p'oldboy' [-S /data/3306/mysql.sock ] --defaults-characterset=gbk -B 數(shù)據(jù)庫名1 數(shù)據(jù)庫名2 |gzip>/tmp/bak$(date +%F).sql.gz

分庫備份

mysqldump -u用戶 -p'oldboy' -S /data/3306/mysql.sock 數(shù)據(jù)庫名1 >/tmp/bak$(date +%F).sql

mysqldump -u用戶 -p'oldboy' -S /data/3307/mysql.sock 數(shù)據(jù)庫名2 >/tmp/bak$(date +%F).sql

備份表(-B系統(tǒng)會認為是兩個庫,-B系統(tǒng)認為是庫和表)(-d只備份結構)

mysqldump -u用戶 -p'oldboy' -S /data/3306/mysql.sock 數(shù)據(jù)庫名1 表名 >/tmp/bak$(date +%F).sql

mysqldump -u用戶 -p'oldboy' -S /data/3306/mysql.sock 數(shù)據(jù)庫名1 表名1 表名2 >/tmp/bak$(date +%F).sql

mysqldump -u用戶 -p'oldboy' -d -S /data/3306/mysql.sock 數(shù)據(jù)庫名1 表名 >/tmp/bak_$(date +%F).sql

恢復數(shù)據(jù)庫(sql文件中沒有use 數(shù)據(jù)庫需要在在mysql命令中指定數(shù)據(jù)庫)

方法一:

use 數(shù)據(jù)庫名

source 備份的sql文件

方法二:

mysql -u root -p '123' -S /data/3306/mysql.sock -e "use test;source /tmp/bak_212.sql;"

方法三:

mysql -u root -p '123' -S /data/3306/mysql.sock < /tmp/bak.sql

-e參數(shù)

mysql -u root -p '123' -S /data/3306/mysql.sock -e "select * from test;"

mysql -u root -p '123' -S /data/3306/mysql.sock -e "show full processlist;" >a.log

mysql -u root -p '123' -S /data/3306/mysql.sock -e "show variables;"--------------查看mysql的參數(shù)配置

mysql -u root -p '123' -S /data/3306/mysql.sock -e "show global status;"------------查看數(shù)據(jù)庫狀態(tài)

mysql -u root -p '123' -S /data/3306/mysql.sock -e "show global status;" |grep select

mysql -u root -p '123' -S /data/3306/mysql.sock -e "show variables;" | grep key_buffer_size--------查看緩存區(qū)大小

mysql -u root -p '123' -S /data/3306/mysql.sock -e "set global key_buffer_size =21777218;"----------不重啟數(shù)據(jù)庫,修改參數(shù),修改配置文件后,需要重啟數(shù)據(jù)庫

sed -i 's#被替換值#替換后的值#g' 文件名

echo "use database" |mysql -u root -p '123' -S /data/3306/mysql.sock

類似與-e參數(shù)

總結

以上是生活随笔為你收集整理的mysql丢失召回_mysql笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。