1. 程式人生 > >一次Linux下卸載安裝mysql-5.1.73的折騰

一次Linux下卸載安裝mysql-5.1.73的折騰

執行 單個 重新 中斷 生效 sym *** back 分配

安裝準備: rpm -qa|grep -i mysql

命令敲完後出來一堆mysql,各式各樣的已安裝mysql包,什麽-java 、-Python等等不一而足,一看懵了!

發揮不敗精神,先了解情況,通過了解發現這是一臺全新服務器,這些都是安裝菜雞把系統自帶包都打上了,考慮再三還是卸載吧,簡單迅速!

卸載:rpm -ev

使用rpm -ev 卸載後,使用whereis mysql或者find / -name mysql查看還有哪些目錄留存,使用rm -rf 刪除目錄,刪就刪個徹底!!!!

ps:如果報error:Failed dependencies:.........等請帶上 --nodeps

附上繁瑣的卸載過程圖:

技術分享

卸載完畢,進入yum簡單安裝環節:yum install (-y 等多個參數可選)

貼上安裝命令:yum install -y mysql-server mysql-devel

安裝完畢,啟動mysql,問題來了,啟動不起來!沒有任何反應,甚至沒有錯誤日誌!!!只有false

後來考慮到是不是SElinux阻止了,看了看果然是因為SElinux,執行國人的SElinux趕盡殺絕策略,關掉!!!

/usr/sbin/sertatus -v 或者getenforce ## 查看SElinux 狀態,enabled 為開啟,disable為關閉

臨時關閉使用:setenforce 0 ## 0為關閉 1為開啟

永久關閉請使用修改配置文件的辦法,修改完成後需要重啟服務器才能生效。

修改配置文件:/etc/selinux/config

將SELINUX=enforcing 改為SELINX=disable即可

再次使用:service mysqld start 數據庫啟動成功,呵呵下!!!!

下面進行mysql的基本配置以圖片解決(做下面的操作前,請記得service mysqld stop哈,不然出問題自己負責!):

設置mysql隨服務器啟動而啟動,其他軟件同理:

技術分享

給mysql換個新家,即換個自己喜歡的目錄,不默認(默認有什麽不好,你懂的),順便給個軟鏈接:

技術分享

接下來就是配置文件咯(/etc/my.cnf):

貼上某個遊戲公司工作,優化後的數據庫配置,以備不是之需!!!

技術分享
[mysqld]
########basic settings########
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
character-set-server=utf8
back_log = 600 #當達到最大連接數時,可以被存在堆棧中的連接
max_connections=1000 #最大連接數
max_prepared_stmt_count=124000
max_connect_errors = 6000 #對同一主機,超過6000中斷錯誤連接,將禁止連接
lower_case_table_names = 1  #不區分大小寫
table_open_cache= 4096 # 每打開一個表,讀入緩存的數據大小
table_definition_cache=8192
open_files_limit = 65535 #打開的文件的描述符的限制
max_allowed_packet = 4M  #接受的數據包的大小,此為僅當需要時才會分配內存大小
query_cache_limit = 2M #指定單個查詢能夠使用的緩沖區大小,默認1M
ft_min_word_len = 4    #分詞詞匯最小長度
transaction_isolation = REPEATABLE-READ #事件隔離級別,此為默認


# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

#######log settings########
binlog_cache_size = 1M #一個事件,在沒有提交時,產生的日誌記錄到Cache中的大小
log_bin = /data/mysql-logs/binlog/mysql-bin
binlog_format = mixed
slow_query_log = 1
long_query_time = 1 #慢查詢時間 超過1秒則為慢查詢
slow_query_log_file = /data/mysql-logs/slow/mysql-slow.log
expire_logs_days = 90   #超過90天的binlog刪除
log_queries_not_using_indexes = 1
log_slow_admin_statements = 1
log_slow_slave_statements = 1
min_examined_row_limit = 100

##########InnoDB############
skip-external-locking #MySQL選項以避免外部鎖定。該選項默認開啟
default-storage-engine = InnoDB #默認存儲引擎
innodb_file_per_table = 1 #每個數據庫的每個表生成一個數據空間
innodb_open_files = 2000   #限制能夠打開的表的數據,默認300
innodb_buffer_pool_size = 64M #使用一個緩沖池來保存索引和原始數據
innodb_thread_concurrency = 0 #默認設置0,表示不限制並發數
innodb_flush_log_at_trx_commit = 2 #每次提交事件都會寫入日誌
innodb_log_buffer_size = 2M   #確定寫日誌文件所用的內存大小
innodb_log_file_size = 32M    #確定數據日誌的文件大小
innodb_log_files_in_group = 3 #以循環方式將日誌文件寫到多個文件
innodb_max_dirty_pages_pct = 90 #主線程刷新緩存池中的數據,使無用數據少於90%
innodb_lock_wait_timeout = 120  #事件在被回滾之前可以等待一個鎖定的超時秒數
bulk_insert_buffer_size = 8M    #批量插入緩存大小
myisam_sort_buffer_size = 8M    #恢復表時使用的緩沖區大小
myisam_max_sort_file_size = 10G #使用快速排序方法來創建一個索引
myisam_repair_threads = 1       #在Repair by sorting過程中創建MyISAM表索引
interactive_timeout = 28800     #服務器關閉交互式連接前等待活動的秒數
wait_timeout = 28800            #服務器關閉非交互連接之前等待活動的秒數

[mysqldump]
quick
max_allowed_packet = 16M #服務器發送和接受的最大包長度

[myisamchk]
key_buffer_size = 8M   #指定用於索引的緩沖區大小
sort_buffer_size = 8M  #執行排序使用的緩沖大小,增加ORDER BY速度
read_buffer_size = 4M  #讀入緩存區大小,對表進行掃描請求分配的讀入緩沖區
tmp_table_size = 16M   #heap(堆積)表緩沖大小
read_rnd_buffer_size = 8M   #隨機讀緩存區大小,對任意順序查詢分配讀入緩沖區,用於順序查詢(禁止設置過大,避免消耗內存)
join_buffer_size = 8M  #聯合查詢操作所能使用的緩沖區大小
thread_cache_size = 8  #重新利用保存在緩存中的線程的數量
query_cache_size = 8M  #查詢緩沖大小
write_buffer = 4M

[mysqld_safe]
log-error=/data/mysql-logs/error/mysql-error.log
pid-file=/var/run/mysqld/mysqld.pid



[client]
default-character-set=utf8
View Code

如果粘貼上面的配置文件直接使用,請記得刪除mysql目錄下面的ib_logfile0和ib_logfile1文件,至於為什麽自己好好讀讀配置文件,多看看mysql的文章,這裏不做描述,呵呵!

最後幾步操作,日誌文件分開存放(記得賦權哈,這裏以mysql-logs為例 chown mysql:mysql mysql-logs)

  • 在數據目錄下開辟一個專用於數據庫日誌存放的目錄:/data/mysql-logs
  • 在mysql-logs下分別建立mkdir error 、mkdir bin-log 、mkdir slow三大數據庫日誌存放目錄

順帶說下這幾個日誌的意義:

error:錯誤日誌,用於故障事件的排查

bin-log:二進制日誌,與完備配合,用於重大故障發生後的數據恢復

slow:慢查詢了,你想優化總要知道哪裏能優化吧!!哈哈哈!

啟動mysql:service mysqld start

完成後,記得設個密碼:mysqladmin -uroot password ‘*****’

至此,一個數據庫的部署算是基本完成了。。。

一次Linux下卸載安裝mysql-5.1.73的折騰