centos系統LNMP環境配置(二) Mysql編譯安裝

安裝前提
1、檢查系統是否安裝Mysql,如果沒有查找到目錄信息,表示沒有安裝

find -name mysql

2、安裝必備軟件(參考centos系統LNMP環境配置(一) 初始安裝配置)
yum install ncurses-devel gcc-c++ autoconf

安裝Cmake
2、編譯環境開始前,先安裝環境編譯依賴包,如果安裝過cmake則跳過這一步

wget http://www.cmake.org/files/v2.8/cmake-2.8.9.tar.gz
tar -zxvf cmake-2.8.9.tar.gz
cd cmake-2.8.9
./configure &&make &&make install

缺少gcc++ 要安裝:yum install gcc-c++

開始編譯安裝Mysql
3、添加mysql用戶並加入mysql用戶組

groupadd mysql  
useradd -g mysql mysql -s /bin/false

注: -s useradd命令的一個參數,使用者登入後使用的shell名稱,此處指定/bin/false
4、創建數據目錄

mkdir -p /usr/local/mysql                 // 創建Mysql目錄
mkdir -p /data/mysql                 // 創建Mysql數據目錄
mkdir -p /data/logs/mysql         // 創建日誌目錄
mkdir  -p /tmp/mysql                 // 創建 mysql.sock目錄 
touch /data/logs/mysql/mysql-error.log  //創建日誌文件

5、設置目錄權限,並修改所有者爲mysql

chown -R mysql:mysql /data/mysql /usr/local/mysql /tmp/mysql  /data/logs/mysql

6、下載mysql源碼包

 wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.36.tar.gz
 tar -zxvf mysql-5.6.36.tar.gz
 cd /usr/local/src/mysql-5.6.36

7、開始編譯mysql

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql/mysql.sock \
-DMYSQL_USER=mysql \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_TCP_PORT=3306 \
-DSYSCONFDIR=/etc \
-DINSTALL_SHAREDIR=share   

make & make install
注:重新運行配置,需要刪除CMakeCache.txt文件

Mysql配置文件
1、複製源碼中的配置文件
cp ./support-files/my-default.cnf /usr/local/mysql/my.cnf

2、 修改安裝目錄下/usr/local/mysql/my.cnf, 部分參數需要結合實際情況進行修改,若存/etc/my.cnf,mysql會優先讀取/etc/my.cnf的配置,需要刪除/etc/my.cnf。

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.

[mysqld]

# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M

# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin

# These are commonly set, remove the # and set as required.
# basedir = .....
# datadir = .....
# port = .....
# server_id = .....
# socket = .....
datadir = /data/mysql
socket = /tmp/mysql/mysql.sock
pid-file = /data/logs/mysql/mysql.pid
user = mysql
port = 3306
default_storage_engine = InnoDB

# InnoDB
#innodb_buffer_pool_size = 128M
#innodb_log_file_size = 48M
innodb_file_per_table = 1
innodb_flush_method = O_DIRECT

# MyISAM
#key_buffer_size = 48M

# character-set
character-set-server=utf8
collation-server=utf8_general_ci

# name-resolve
#skip-host-cache
#skip-name-resolve

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

# LOG
log_error = /data/logs/mysql/mysql-error.log
long_query_time = 1
slow-query-log =1
slow_query_log_file = /data/logs/mysql/mysql-slow.log

# Others
explicit_defaults_for_timestamp=true
#max_connections = 500
open_files_limit = 65535

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[client]
socket = /tmp/mysql/mysql.sock
port = 3306

初始化Mysql
1、進入安裝目錄,輸入下面命令初始化

cd /usr/local/mysql
/usr/local/mysql/scripts/mysql_install_db  --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql
/usr/local/mysql/bin/mysqld_safe  --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

若提示缺少Data::Dumper 安裝:yum-y install autoconf

配置開機啓動
1、 複製源碼中的啓動腳本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

2、設置權限
chmod +x /etc/init.d/mysql

3、設置mysql服務

chkconfig --add mysql
chkconfig --level 2345 mysql on

4、啓動mysql
service mysql start

Mysql 環境變量配置
1、參考centos系統 LNMP環境配置(一) 初始安裝配置 環境變量配置

Mysql用戶密碼修改
1、使用mysqladmin 設置root初始密碼 :
mysqladmin -u root password 123456
2、如果已經設置了root密碼,使用下面命令修改(或者使用mysql語句修改,見後文):
mysqladmin -u root -p password abcdef

注:命令回車後會問你舊密碼,輸入舊密碼 之後命令完成,密碼修改成功。

配置Mysql數據庫准許遠程訪問
1、鏈接Mysql
mysql -h127.0.0.1 -uroot -p

2、選擇數據庫
use mysql;

3、查看用戶
select Host,User from user limit 10;

4、更改root登錄
update user set Host='%' where User='root' and Host='localhost';

5、 刷新Mysql權限
flush privileges;

6、Mysql 命令行登錄
mysql -h127.0.0.1 -uroot -p

7、添加授權用戶
GRANT ALL PRIVILEGES ON test.* TO test@'%' IDENTIFIED BY 'test';

8、修改用戶密碼
update user set password=PASSWORD('woshishui') where user='root';

查看Mysql進程/端口
netstat -an |grep 3306
ps -le | grep mysqld
ps aux | grep mysqld

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章