Mysql源碼方式安裝與完全卸載Mysql,mysql源碼方式卸載

來源:互聯網
上載者:User

Mysql源碼方式安裝與完全卸載Mysql,mysql源碼方式卸載
1、基礎環境介紹1.1軟體環境

作業系統:redhat linux 6.3

Mysql版本:Mysql 5.6.24

1.2磁碟目錄規劃

序號

目錄

用途

1

/opt/mysql/mysql-5.6.24

mysql主程式安裝目錄

2

/data/mysql/mysql_5624/{data,tmp,logs}

存放資料檔案、臨時檔案、記錄檔,5624代表為5.6.24版本號碼

 

2、linux環境調整最佳化2.1 關閉NUMA

編輯/etc/grub.conf檔案,在kernel後面增加 numa=offelevator=deadline

2.2 關閉selinux

編輯/etc/selinux/config檔案,在最後面增加SELINUX=disabled

2.3 修改unlimit參數

編輯/etc/security/limits.conf檔案,增加下面四行資訊:

root soft nofile 65535

root hard nofile 65535

 

root soft nproc 7000

root hard nproc 7000

2.4 關閉iptables

#service iptables stop

#/etc/init.d/iptables stop

#chkconfig iptables off

2.5 修改環境變數

#Vi .bash_profile

增加下面內容:

export PATH=/usr/local/mysql/bin:/opt/mysql/mysql-5.6.24/bin:$HOME/bin:$PATH

#source .bash_profile

 

由於修改的內容較多,建議到此步時,重啟一次linux,並驗證參數等配置是否生效。

3、安裝mysql3.1 建立安裝與存放資料檔案等檔案目錄

#mkdir –p /opt/mysql/mysql-5.6.24

#mkdir –p /data/mysql/mysql_5624/{data,tmp,logs}

3.2建立Mysql使用者與使用者組

# groupadd mysql

# useradd -g mysql -s /sbin/nologin -d/opt/mysql mysql

3.3需要安裝mysql的DBD模組包

DBD模組包名為:perl-DBD-MySQL-3.0007-2.el5.x86_64.rpm

#yum install cmake *gcc* libaio libaio-devel automake autoconf bzbison libtool ncurses

#yum install perl-DBD-MySQL

 

關於yum的配置,請參考作者發布在部落格中的《oracle_linux_6_64(bit)上安裝oracle11gR2資料庫環境快速準備神器oracle-rdbms-server-11gR2-preinstall》中的第3章節:“為使用oracle-rdbms-server-11gR2-preinstall而搭建一個本地yum伺服器”,博文網址:http://blog.csdn.net/ljunjie82/article/details/37373595

 

3.4 下載源碼安裝包

http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.24-linux-glibc2.5-x86_64.tar.gz

3.5 上傳壓縮檔至伺服器

  將下載到的mysql-5.6.24-linux-glibc2.5-x86_64.tar.gz源碼安裝檔案上傳到伺服器的/opt/mysql/目錄下(方法略)

3.6 解壓mysql的安裝包

#tar -xzvf /opt/mysql/mysql-5.6.24-linux-glibc2.5-x86_64.tar.gz -C/opt/mysql/mysql-5.6.24/

3.7 剪下解壓縮後的檔案至規劃的安裝目錄

#cd /opt/mysql/mysql-5.6.24

#mv mysql-5.6.24-linux-glibc2.5-x86_64/* .

#rm –rf mysql-5.6.24-linux-glibc2.5-x86_64

3.8 建立ln軟連結

建立軟連結的目的:為了在伺服器上存有多個mysql版本時,可以使用軟連結靈活的指向想要使用的版本,在升級時最為有用。

#ln -s /opt/mysql/mysql-5.6.24  /usr/local/mysql

3.9 更改目錄許可權

#chown -R mysql:mysql /usr/local/mysql

#chown -R mysql:mysql /data/mysql

#chown -R mysql:mysql /opt/mysql

3.10 查看依賴的lib庫是否安全

#ldd /usr/local/mysql/bin/mysqld

 

4、配置my.cnf參數與資料庫初始化4.1 配置my.cnf參數

(1)備份/etc/my.cnf

#mv /etc/my.cnf /etc/my.cnf_backup

(2)建立新的/etc/my.cnf檔案

#vi /etc/my.cnf

[client]

port = 3306

socket = /tmp/mysql.sock

 

[mysql]

prompt=[master]>

#pager="less -i -n -S"

tee=/data/mysql/mysql_5624/data/query.log

no-auto-rehash

 

[mysqld_multi]

mysqld = /usr/local/mysql/bin/mysqld_safe

mysqladmin = /usr/local/mysql/bin/mysqladmin

log = /opt/mysql/mysqld_multi.log

 

[mysqld]

#misc

explicit_defaults_for_timestamp = ture

user = mysql

basedir = /usr/local/mysql

datadir = /data/mysql/mysql_5624/data

port = 3306

socket = /tmp/mysql.sock

event_scheduler = 0

 

#timeout

interactive_timeout = 300

wait_timeout = 300

 

#character set

character-set-server = utf8

 

open_files_limit = 65535

max_connections = 100

max_connect_errors = 100000

skip-name-resolve = 1

#logs

log-output=file

slow_query_log = 1

slow_query_log_file = slow.log

log-error = /data/mysql/mysql_5624/data/error.log

log_warnings = 2

pid-file = mysql.pid

long_query_time = 1

#log-slow-admin-statements = 1

#log-queries-not-using-indexes = 1

log-slow-slave-statements = 1

 

#binlog

binlog_format = mixed

server-id = 2003306

log-bin = /data/mysql/mysql_5624/logs/mybinlog

binlog_cache_size = 4M

max_binlog_size = 1G

max_binlog_cache_size = 2G

sync_binlog = 0

expire_logs_days = 10

 

#relay log

skip_slave_start = 1

max_relay_log_size = 1G

relay_log_purge = 1

relay_log_recovery = 1

log_slave_updates

#slave-skip-errors=1032,1053,1062

 

#buffers & cache

table_open_cache = 2048

table_definition_cache = 2048

table_open_cache = 2048

max_heap_table_size = 96M

sort_buffer_size = 2M

join_buffer_size = 2M

thread_cache_size = 256

query_cache_size = 0

query_cache_type = 0

query_cache_limit = 256K

query_cache_min_res_unit = 512

thread_stack = 192K

tmp_table_size = 96M

key_buffer_size = 8M

read_buffer_size = 2M

read_rnd_buffer_size = 16M

bulk_insert_buffer_size = 32M

 

#myisam

myisam_sort_buffer_size = 128M

myisam_max_sort_file_size = 10G

myisam_repair_threads = 1

 

#innodb

innodb_buffer_pool_size = 100M

innodb_buffer_pool_instances = 1

innodb_data_file_path = ibdata1:1G:autoextend

innodb_flush_log_at_trx_commit = 1

innodb_log_buffer_size = 64M

innodb_log_file_size = 256M

innodb_log_files_in_group = 3

innodb_max_dirty_pages_pct = 50

innodb_file_per_table = 1

innodb_rollback_on_timeout

innodb_status_file = 1

innodb_io_capacity = 2000

transaction_isolation = READ-COMMITTED

innodb_flush_method = O_DIRECT

 

#連接埠號碼為3306的執行個體特殊配置

[mysqld3306]

port = 3306

#指定本執行個體相應版本的basedir和datadir

basedir= /usr/local/mysql

datadir = /data/mysql/mysql_5624/data

socket          = /tmp/mysql_5624.sock

#重新設定這幾個選項,不與全域配置一樣,會直接覆蓋上面的全域設定

innodb_buffer_pool_size = 100m

transaction_isolation = REPEATABLE-READ

 

######以下為多個版本mysql時的相關備用參數#####

#[mysqldXXXX]

#port=3308

#basedir= /usr/local/mysql

#datadir= /data/mysql/mysql_XXXX/data

#socket= /tmp/mysql_XXXX.sock

#重新設定這幾個選項,不與全域配置一樣,會直接覆蓋上面的全域設定

#innodb_buffer_pool_size = 100m

#innodb_flush_log_at_trx_commit = 2

#sync_binlog = 0

 

4.2 初始化mysql

特別注意:初始化資料庫一定要在basedir目錄下進行

#cd /usr/local/mysql

#./scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf

#./scripts/mysql_install_db --datadir=/data/mysql/mysql_5624/data --defaults-file=/etc/my.cnf

5、啟動與關閉mysql5.1 啟動mysql

(1)mysql

#/etc/init.d/mysql start

Starting MySQL... SUCCESS!

(2)驗證mysql是否在運行

#ps axu |grep mysqld

root      3329  0.1  0.0 106272  1412 pts/0    S    08:27   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql/mysql_5624/data --pid-file=/data/mysql/mysql_5624/data/mysql.pid

mysql     4267  3.6 29.6 1121464 565388 pts/0  Sl   08:27   0:01 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql/mysql_5624/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/mysql/mysql_5624/data/error.log --open-files-limit=65535 --pid-file=/data/mysql/mysql_5624/data/mysql.pid --socket=/tmp/mysql.sock --port=3306

(3)驗證配置的3306連接埠是否被監聽

#netstat -nalp|grep "3306"

tcp        0      0 :::3306           :::*           LISTEN      4267/mysqld

 

5.2 關閉mysql

#mysqladmin -uroot shutdown

6、完全卸載Mysql

(1)查詢已經安裝了的mysql包

#rpm –qa|grep mysql

(2)使用yum完全卸載

# yum remove mysql mysql-server mysql-libsmysql-connector

(3)手工刪除所建立的目錄及my.cnf檔案

#rm –rf /opt/mysql

#rm –rf /data/mysql

#rm /etc/my.cnf

(4)手工刪除所建立的軟連結

#cd /usr/local

#rm mysql

 

 

本文作者:黎俊傑(網名:踩點),從事”系統架構、作業系統、存放裝置、資料庫、中介軟體、應用程式“六個層面系統性的效能最佳化工作

歡迎加入 系統效能最佳化專業群,共同探討效能最佳化技術。群號:258187244

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.