更多内容: http://blog.yuhai.win
參考位址
http://blog.csdn.net/wendi_0506/article/details/
https://www.chenyudong.com/archives/building-mysql---from-source.html
http://blog.csdn.net/wendi_0506/article/details/
- 檢視目前系統是否安裝mysql
[[email protected] mysql]# rpm -qa|grep mysql
mysql-libs--el6.x86_64
[[email protected] mysql]# rpm -e mysql-libs-5.1.71-1.el6.x86_64
error: Failed dependencies:
libmysqlclient.so()(bit) is needed by (installed) postfix-:-.el6_1.x86_64
libmysqlclient.so(libmysqlclient_16)(bit) is needed by (installed) postfix-:-.el6_1.x86_64
mysql-libs is needed by (installed) postfix-:-.el6_1.x86_64
存在依賴關系,直接删除
[[email protected] mysql]# rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
[[email protected] mysql]# rpm -qa |grep mysql
沒有mysql 即可
-
安裝mysql 所需要的一些必要的庫
yum install gcc gcc-c++ ncurses-devel perl
- 安裝cmake
wget http://www.cmake.org/files/v2/cmake-.tar.gz
或者到
http://note.youdao.com/yws/public/redirect/share?id=ad618b9375cbe1a115edaba83af58390&type=false
下載下傳
可能會出現以下錯誤:
Connecting to cmake.org||:.. connected.
ERROR: certificate common name “*.kitware.com” doesn’t match requested host name “cmake.org”.
To connect to cmake.org insecurely, use ‘--no-check-certificate’.
隻需要:
wget http://www.cmake.org/files/v2/cmake-.tar.gz --no-check-certificate
tar -xzvf cmake-.tar.gz
cd cmake-
./bootstrap ; make ; make install
檢視是否成功
cmake--version
- 使用者使用者組及目錄的建立
groupadd mysql
useradd -r -g mysql mysql
- 解壓 mysql 源碼包
tar -zxv -f mysql-..tar.gz
cd mysql-.
- cmake 安裝
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/soft/mysql-./mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_ARCHIVE_STORAGE_ENGINE= \
-DWITH_BLACKHOLE_STORAGE_ENGINE= \
-DMYSQL_DATADIR=/data/mysqldb \
-DMYSQL_TCP_PORT= \
-DENABLE_DOWNLOADS=
在cmake的時候出現
[[email protected] mysql-5.6.29]# cmake \
> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
> -DDEFAULT_CHARSET=utf8 \
CMake Error: The source directory "/usr/local/soft/mysql-5.6.29/ " does not exist.
原因:
在 "\" 後面有空格
- cmake 出現以下輸出說明cmake成功
-- Running cmake version .
-- MySQL .
-- Packaging as: mysql-.-Linux-x86_64
-- HAVE_VISIBILITY_HIDDEN
-- HAVE_VISIBILITY_HIDDEN
-- HAVE_VISIBILITY_HIDDEN
-- Using cmake version .
-- Not building NDB
-- Library mysqlclient depends on OSLIBS -lpthread;m;rt;dl
-- GMOCK_SOURCE_DIR:/root/mysql-./source_downloads/gmock-.
-- GTEST_LIBRARIES:gmock;gtest
-- Library mysqlserver depends on OSLIBS -lpthread;m;rt;crypt;dl
-- Configuring done
-- Generating done
-- Build files have been written to: /root/mysql-.
- 編譯源碼
make && make install
- 複制配置檔案
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chmod 755 /etc/init.d/mysqld
- 初始化資料庫
scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqldb/
出現以下資訊說明已經初始化成功
New default config file was created as /usr/local/mysql//my.cnf and
will be used by default by the server when you start it.
You may edit this file to change server settings
- 啟動mysql
/etc/init.d/mysqld start
遇到以下問題:
[[email protected] mysql]# /etc/init.d/mysqld start
Starting MySQL... ERROR! The server quit without updating PID file (/data/mysqldb/localhost.localdomain.pid).
、可能是/usr/local/mysql/data/mysql.pid檔案沒有寫的權限
解決方法 :給予權限,執行 “chown -R mysql:mysql /var/data”
“chmod -R /usr/local/mysql/data” 然後重新啟動mysqld!
、可能程序裡已經存在mysql程序
解決方法:用指令“ps -ef|grep mysqld”檢視是否有mysqld程序
,如果有使用“kill - 程序号”殺死,然後重新啟動mysqld!
、更多原因請檢視:http://www.jb51.net/article/htm
啟動完成之後用ps -ef |grep mysql 指令檢視是否啟動
- 修改root密碼
root 的初始密碼為空,登入修改root賬戶的密碼
[[email protected] mysql]# /usr/local/mysql/bin/mysql -u root -p
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set password=PASSWORD("123456") where user='root';
Query OK, rows affected ( sec)
Rows matched: Changed: Warnings:
mysql> FLUSH PRIVILEGES;
Query OK, rows affected ( sec)
退出
[[email protected] bin]# /usr/local/mysql/bin/mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: Source distribution
登入成功可以操作資料庫了