nginx運維(2)mysql編譯安裝

2021-06-27 02:14:44 字數 2854 閱讀 2294

考慮到去了公司肯呢過要對mysql做優化配置,所以嘗試編譯安裝mysql

使用下面的命令檢查是否安裝有mysql server

rpm -qa | grep mysql
有的話通過下面的命令來解除安裝掉

rpm -e mysql   //普通刪除模式

rpm -e --nodeps mysql // 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它檔案,則用該命令可以對其進行強力刪除

yum -y install make gcc-c++ cmake bison-devel  ncurses-devel
wget 

這裡我選擇的版本是5.5.40,因為不同的版本在cmake編譯時可能會因為gcc版本的原因報錯,因此其他版本不敢肯定能編譯通過

tar xvf mysql-5.5.40.tar.gz

cd mysql-5.4.40

sudo cmake \

-dcmake_install_prefix=/usr/local/mysql \

-dmysql_datadir=/usr/local/mysql/data \

-dsysconfdir=/etc \

-dwith_myisam_storage_engine=1 \

-dwith_innobase_storage_engine=1 \

-dwith_memory_storage_engine=1 \

-dwith_readline=1 \

-dmysql_unix_addr=/var/lib/mysql/mysql.sock \

-dmysql_tcp_port=3306 \

-denabled_local_infile=1 \

-dwith_partition_storage_engine=1 \

-dextra_charsets=all \

-ddefault_charset=utf8 \

-ddefault_collation=utf8_general_ci

make && make install

編譯的引數可以參考

使用下面的命令檢視是否有mysql使用者及使用者組

cat /etc/passwd 檢視使用者列表

cat /etc/group 檢視使用者組列表

如果沒有就建立

sudo groupadd mysql

sudo useradd -g mysql mysql

修改/usr/local/mysql許可權

sudo chown -r mysql:mysql /usr/local/mysql
修改/usr/local/mysql許可權

進入安裝路徑

cd /usr/local/mysql
進入安裝路徑,執行初始化配置指令碼,建立系統自帶的資料庫和表

sudo scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
注:在啟動mysql服務時,會按照一定次序搜尋my.cnf,先在/etc目錄下找,找不到則會搜尋"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,這是新版mysql的配置檔案的預設位置!注意:在centos 6.4版作業系統的最小安裝完成後,在/etc目錄下會存在乙個my.cnf,需要將此檔案更名為其他的名字,如:/etc/my.cnf.bak,否則,該檔案會干擾原始碼安裝的mysql的正確配置,造成無法啟動。

新增服務,拷貝服務指令碼到init.d目錄,並設定開機啟動

sudo cp support-files/mysql.server /etc/init.d/mysql

sudo chkconfig mysql on

sudo service mysql start --啟動mysql

mysql啟動成功後,root預設沒有密碼,我們需要設定root密碼。

設定之前,我們需要先設定path,要不不能直接呼叫mysql

修改/etc/profile檔案,在檔案末尾新增

path=/usr/local/mysql/bin:$path

export path

關閉檔案,執行下面的命令,讓配置立即生效

source /etc/profile
現在,我們可以在終端內直接輸入mysql進入,mysql的環境了

執行下面的命令修改root密碼

mysql -uroot  

mysql> set password = password('123456');

若要設定root使用者可以遠端訪問,執行

mysql> grant all privileges on *.* to 'root'@'172.16.%' identified by 'password' with grant option;
紅色的password為遠端訪問時,root使用者的密碼,可以和本地不同。

防火牆的3306埠預設沒有開啟,若要遠端訪問,需要開啟這個埠

開啟/etc/sysconfig/iptables

在「-a input –m state --state new –m tcp –p –dport 22 –j accept」,下新增:

-a input -m state --state new -m tcp -p -dport 3306 -j accept
然後儲存,並關閉該檔案,在終端內執行下面的命令,重新整理防火牆配置:

service iptables restart
ok,一切配置完畢,你可以訪問你的mysql了~

MySQL解析(2) MySQL版本

mysql ab目前維護的mysql版本主要包括 mysql 4.1 mysql 5.0 mysql 5.1 mysql 6.0 其中處於stable狀態的有mysql4.1 5.0,而mysql5.1處於rc beta 版,mysql 6.0 處於 alpha版。mysql 5.0是stable的...

MySQL 筆記2 MySQL 基礎

mysql 系列筆記是筆者學習 實踐mysql資料庫的筆記 mysql 資料庫基礎入門教程 mysql 官方文件 儲存引擎 儲存資料的技術。mysql中的資料可以用各種不同的技術儲存在檔案 或者記憶體 中,這些技術中的每一種技術都使用不同的儲存機制 索引技巧 鎖定水平並且最終提供廣泛的不同的功能和能...

MySQL學習 2 MySQL索引

6 索引設計原則 mysql官方對索引的定義為 索引 index 是幫助mysql高效獲取資料的資料結構 有序 在資料之外,資料庫系統還維護者滿足特定查詢演算法的資料結構,這些資料結構以某種方式引用 指向 資料,這樣就可以在這些資料結構上實現高階查詢演算法,這種資料結構就是索引 一般來說索引本身也很...