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

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

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

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

卸載:rpm -ev linux

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

ps:若是報error:Failed dependencies:.........等請帶上 --nodeps數據庫

附上繁瑣的卸載過程圖:緩存

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

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

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

後來考慮到是否是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 -R 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 ‘*****’

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

相關文章
相關標籤/搜索