CentOS下編譯安裝MySQL 5 6 21

2021-09-09 01:59:59 字數 4009 閱讀 4659

安裝編譯原始碼所需的工具和庫

yum install gcc gcc-c++ ncurses-devel perl

安裝cmake:

新增mysql使用者組

groupadd mysql

新增mysql使用者

useradd -r -g mysql mysql

新建mysql安裝目錄

mkdir -p /usr/local/mysql

新建mysql資料庫資料檔案目錄

mkdir -p /data/mysqldb

tar -zxv -f mysql-5.6.21

.tar.gz

cd mysql-5.6.21

從mysql5.5起,mysql原始碼安裝開始使用cmake了,設定原始碼編譯配置指令碼。

設定編譯引數

# cmake . -dcmake_install_prefix=/usr/local/mysql \

> -ddefault_charset=gbk \

> -ddefault_collation=gbk_chinese_ci \

> -denabled_local_infile=on \

> -dwith_innobase_storage_engine=1

\> -dwith_federated_storage_engine=1

\> -dwith_blackhole_storage_engine=1

\> -dmysql_unix_addr=/tmp/mysqld.sock \

> -dwith_debug=0

\> -dmysql_tcp_port=3306

解釋說明:

-dcmake_install_prefix=dir_name

設定mysql安裝目錄

-dmysql_unix_addr=file_name

設定監聽套接字路徑,這必須是乙個絕對路徑名。預設為/tmp/mysql.sock

-ddefault_charset=charset_name

設定伺服器的字符集。

預設情況下,mysql使用latin1的(cp1252西歐)字符集。cmake/character_sets.cmake檔案包含允許的字符集名稱列表。

-ddefault_collation=collation_name

設定伺服器的排序規則。

-dwith_innobase_storage_engine=1 

-dwith_archive_storage_engine=1

-dwith_blackhole_storage_engine=1 

-dwith_perfschema_storage_engine=1

儲存引擎選項:

myisam,merge,memory,和csv引擎是預設編譯到伺服器中,並不需要明確地安裝。

靜態編譯乙個儲存引擎到伺服器,使用-dwith_engine_storage_engine= 1

可用的儲存引擎值有:archive, blackhole, example, federated, innobase (innodb), partition (partitioning support), 和perfschema (performance schema)

-dmysql_datadir=dir_name

設定mysql資料庫檔案目錄

-dmysql_tcp_port=port_num

設定mysql伺服器監聽埠,預設為3306

-denable_downloads=bool

注:若重新執行配置,需要刪除cmakecache.txt檔案;否則,略去下步。

rm -f cmakecache.txt

編譯原始碼

make

安裝

make install

修改mysql安裝目錄

cd /usr/local/mysql   

chown -r mysql:mysql .

修改mysql資料庫檔案目錄

cd /data/mysqldb  

chown -r mysql:mysql .

cd /usr/local/mysql   

scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

注:如果/etc/my.cnf檔案存在,則覆蓋。

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

vim /etc/profile

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

export path

source /etc/profile

service mysqld start

chkconfig --level 35 mysqld on

注:如果這裡出錯,下面有一些錯誤的對應解決方案,莫要著急。

netstat -tulnp | grep 3306

mysql -u root -p

密碼為空,如果能登陸上,則安裝成功。

mysqladmin -u root password '

123456

'

注:也可執行安全設定指令碼,修改mysql使用者root的密碼,同時可禁止root遠端連線,移除test資料庫和匿名使用者。

/usr/local/mysql/bin/mysql_secure_installation

問題:   

starting mysql..the server quit without updating pid file ([failed]/mysql/server03.mylinux.com.pid).

解決:

修改/etc/my.cnf 中datadir,指向正確的mysql資料庫檔案目錄

問題:   

error

2002 (hy000): can'

t connect to local mysql server through socket

'/tmp/mysql.sock'

(2)

解決:

新建乙個鏈結或在mysql中加入-s引數,直接指出mysql.sock位置。

ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock

/usr/local/mysql/bin/mysql -u root -s /usr/local/mysql/data/mysql.sock

mysql問題解決:-bash:mysql:command not found  

因為mysql命令的路徑在/usr/local/mysql/bin下面,所以你直接使用mysql命令時,

系統在/usr/bin下面查此命令,所以找不到了

解決辦法是:

ln -s /usr/local/mysql/bin/mysql /usr/bin 做個鏈結即可

linux下用cmake編譯安裝mysql

編譯 linux下用cmake編譯安裝mysql 5.6.35 安裝cmake sudo pacman s cmake wget tar zxvf mysql 5.6.35.tar.gz cd mysql 5.6.35 建立資料存放目錄 mkdir p vhs mysql mysql56 建立使用者...

CentOS 下使用yum 命令安裝MySQL

日期 2017 12 09 字型 大中小 centos linux下使用yum 命令安裝mysql過程記錄。1.檢視伺服器中有沒有安裝過mysql 1.檢視有沒有安裝包 yum list mysql 移除已經安裝的mysql yum remove mysql mysql server mysql l...

mysql編譯安裝gcc 編譯安裝mysql

一 安裝編譯工具及庫檔案 yum y install gcc gcc c make autoconf libtool ltdl devel gd devel freetype devel libxml2 devel libjpeg devel libpng devel openssl devel c...