mysql安裝配置流程
apt-get install mysql-server-5.6
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
檢查系統中是否有mysql服務,出現下面的大概就是成功了
netstat -tap|grep mysql
tcp 0 0 *:mysql *:* listen 6153/mysqld
#啟動mysql
start mysql
#關閉mysql
stop mysql
配置檔案my.cnf
/etc/mysql/my.cnf
讓伺服器可以遠端訪問,還是配置檔案my.cnf,還要下面的配置
#注釋bind-address
#bind-address = 127.0.0.1
參考:本機訪問
mysql -u root -p test -h 127.0.0.1
開啟遠端訪問:
方法1.改表法。可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 「mysql」 資料庫裡的 「user」 表裡的 「host」 項,從」localhost」改稱」%」
mysql -u root -pvmware
mysql>use mysql;
mysql>update user set host = 『%』 where user = 『root';
mysql>select host, user from user;
方法2.授權法。例如,你想myuser使用mypassword從任何主機連線到mysql伺服器的話。
grant all privileges on *.* to 『myuser』@』%』 identified by 『mypassword』 with grant option;
方法3.如果你想允許使用者myuser從ip為192.168.33.60的主機連線到mysql伺服器,並使用mypassword作為密碼
grant all privileges on *.* to 『root』@』192.168.33.60′ identified by 『mypassword』 with grant option;
grant all privileges on *.* to 『root』@』192.168.33.61′ identified by 『123456』 with grant option;
修改完要重啟;
參考:開啟bin-log:
配置檔案my.cnf,這些配置開啟;
log_bin = /var/log/mysql/mysql-bin.log //存放目錄
expire_logs_days = 10 //表明距離當前時間正好n天前的二進位制檔案會被系統自動刪除,0表示不刪除。
max_binlog_size = 100m//乙個log的大小。
binlog_format = mixed
show binary logs; #顯示binlog檔案
purge binary logsto 'mysql-bin.**' #刪除到**檔案
檢視指定binlog檔案的內容:
show binlog events in "mysql-bin.000003";
檢視當前正在寫入的binlog檔案:
show master status
獲取指定位置binlog的內容:
show binlog events from 213
flush logs;#關閉當前的二進位制日誌檔案並建立乙個新檔案,新的二進位制日誌檔案的名字在當前的二進位制檔案的編號上加1。
提取指定的binlog日誌
mysqlbinlog /var/log/mysql/mysql-bin.000003
提取指定position位置的binlog日誌
mysqlbinlog --start-position="120" /var/log/mysql/mysql-bin.000003
提取指定資料庫binlog並轉換字符集到utf8
mysqlbinlog --database=test --set-charset=utf8 /var/log/mysql/mysql-bin.000003 > /home/test.sql
進行資料恢復;
mysqlbinlog --no-defaults /var/log/mysql/mysql-bin.000003 --start-position="2973" --stop-position="3828" | /usr/bin/mysql -uroot -p123456 test -h 127.0.0.1
mysqlbinlog --start-position="657" --stop-position="1840" /var/log/mysql/mysql-bin.000003 | mysql -uroot -p123456 test
參考:mysqldump常用於mysql資料庫邏輯備份
mysqldump -uroot -ppassword [database name] > [dump file]
mysqldump -uroot -p123 test > test.dump
mysqldump -uroot -p123456 --all-databases --flush-logs > /home/mysql.bak
mysqldump -uroot -p123456 --databases test --flush-logs > /home/mysql.bak
mysqldump -uroot -p123456 --databases test --flush-logs --master-data=2 > /home/mysql.bak
--master-data=2 選項將會在輸出sql中記錄下完全備份後新日誌檔案的名稱,
如果要備份某個mysql主機上的所有資料庫可以使用--all-databases選項,如下:
mysqldump --all-databases > test.dump
mysqldump -uroot -p123456 –all-databases > /home/mysql.bak
從備份檔案恢復資料庫
mysql [database name] < [backup file name]
mysqldump -u使用者名稱 -p密碼 -h主機 資料庫 < 路徑
mysql -uroot -p1234 db1 < c:\a.txt
mysql -uroot -p123456 < /home/mysql.bak //-databases已經包含了建庫語名
參考:定時備份)
參考:參考:
參考:定時備份
mysqldump -u root -ppassword --all-databases | gzip > /mnt/disk2/database_`date '+%m-%d-%y'`.sql.gz
乙個完整的shell指令碼備份mysql資料庫示例
#vi /backup/backup.sh
#!bin/bash
cd /backup
echo "you are in backup dir"
mv backup* /oldbackup
echo "old dbs are moved to oldbackup folder"
file = backup-$now.sql
mysqldump -u user -p password database-name > $file
echo "your database backup successfully completed"
上面指令碼檔案儲存為backup.sh,並且系統中已經建立兩個目錄/olcbackup和/backup。每次執行backup.sh時都會先將/backup目錄下所有名稱為backup開頭的檔案移到/oldbackup目錄。
為上述指令碼制定執行計畫如下:
#crontab -e
30 1 * * * /backup.sh
參考:定時備份)
參考:參考:中cron定時任務系統命令詳解)
Nginx安裝 配置流程
目前,所採用的的伺服器主要有傳統的apache和04年發布的nginx,前者出現時間久,就導致了現在世界上大多數重量型 採用的都是apache架構,至於為什麼後來又出現了nginx架構,純粹因為採用前者的 已經越來越不適應現在高併發量請求的實際需求了。比較著名的某寶的伺服器架構就是基於nginx魔改...
Mysql安裝配置
系統環境 rhel5 最小化安裝,只安裝vi工具 核心 2.6.18 8.el5 cd usr local src tarbag tar xzvf mysql 5.1.38.tar.gz c software cd software mysql 5.1.38 configure prefix usr...
Mysql 安裝配置
my.ini 檔案內容如下 mysql 設定mysql客戶端預設字符集 default character set utf8 mysqld 設定3306埠 port 3306 設定mysql的安裝目錄 basedir f software tools mysql mysql 8.0.15 winx6...