標籤:報錯 use 內建 伺服器 指令碼 curses cache 位置 extern
安裝環境:
Centos:6.8
Mysql:5.6
首先清除主機內建的MySQL,
安裝編譯源碼所需的工具和庫
yum install gcc gcc-c++ ncurses-devel perl
安裝cmake,從 www.cmake.org 下載源碼並編譯安裝
tar -xzvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./bootstrap
make && make install
下載MySQL源碼包後開始編譯
tar -zxf mysql-5.6.23.tar.gz
cd mysql-5.6.23
?
?
?
一些準備工作
設定MySQL使用者和組
新增mysql使用者組
groupadd mysql
新增mysql使用者
useradd -r -g mysql mysql
建立MySQL所需要的目錄
建立mysql安裝目錄
mkdir -p /usr/local/mysql
?
建立mysql資料庫資料檔案目錄
mkdir -p /data/mysqldb
?
?
?
編譯安裝
CMake執行指令碼為:
cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DMYSQL_DATADIR=/data/mysqldb
-DMYSQL_TCP_PORT=3306
-DENABLE_DOWNLOADS=1
說明:
網上有些文章中給出的cmake命令如下:
Cmake --DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk
-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_USER=mysql
-DMYSQL_TCP_PORT=3306
編譯後警告顯示:
即MYSQL_USER等模組式停用。
此時,若需要重新設定,請刪除CMakeCache.txt檔案:
rm CMakeCache.txt
?
去掉MYSQL_USER等不可被用的選項後,再重新編譯即可。
10.
cmake--DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DENABLED_LOCAL_INFILE=1
-DMYSQL_DATADIR=/data/mysql
-DMYSQL_TCP_PORT=3306
編譯 & 安裝
make &&make install
這兩步都需要很長時間,請耐心等待。
修改mysql目錄所有者和組
修改mysql安裝目錄
cd /usr/local/mysql
chown -R mysql:mysql .
?
修改mysql資料庫檔案目錄
cd /data/mysqldb
chown -R mysql:mysql .
?
說明:
chown 最後跟檔案名稱。此處使用".",表示目前的目錄。
啟動MySQL
初始化mysql資料庫
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/data/mysqldb
說明:
從列印日誌可以看出,mysql_install_db命令的作用是產生MySQL系統資料表。並且最後在mysql目錄下產生一個my.cnf檔案。
--user=mysql 作用是指定運行mysqld進程的使用者名稱。設定這個使用者以後,所有通過mysqld進程建立的檔案(如日誌等)都會屬於這個使用者。
mysql設定檔
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
註:如果/etc/my.cnf檔案存在,則覆蓋。
關於MySQL設定檔存在多個訪問位置。MySQL會以此訪問,後訪問到的配置會覆蓋先前的配置。
MySQL訪問設定檔的訪問路徑與訪問順序如下:
?
配置MySQL
[client]
#password = your_password
port = 3306
socket = /data/mysql/mysql.sock
default-character-set=utf8
.注釋Here follows entries for some pecific programs
注釋:The MySQL server
[mysqld]
port = 3306
character_set_server=utf8
basedir=/data/mysql
datadir=/data/mysql/data
socket = /data/mysql/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
將MySQL執行命令添加入PATH
vim /etc/profile
?
在檔案的末尾新增內容:
PATH=$PATH:/usr/local/mysql/bin
export PATH?
保持退出後,執行:
source /etc/profile
將MySQL設定為系統服務並啟動服務
cp support-files/mysql.server /etc/init.d/mysqld
?
即,MySQL可以以如下形式啟動:
service mysqld start
?
如果報錯 "Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql/rhelubuntu.com.pid). "?則修改
vim /etc/init.d/mysqld
修改basedir=/usr/local/mysql???????????? -----mysql安裝位置
修改datadir=/var/data/mysqldata????????? -----mysql資料檔案存放位置
?一般修改好這個再重新啟動mysql應該不會報錯了。
?
檢查MySQL是否已經啟動:
netstat -tulnp | grep 3306
?
?
配置使用者
使用MySQL用戶端串連MySQL伺服器
mysql -u root -p
初始密碼為空白,如果能登陸上,則安裝成功。
?
設定mysql管理員密碼
mysqladmin -u root password "123456";
則123456即為新密碼。
?
設定mysql 遠程登入
grant all on . to [email protected]‘%‘;
flush privileges;
MySQL 5.6安裝