天天看點

liunx 下mysql 的安裝

更多内容: 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/
           
  1. 檢視目前系統是否安裝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 即可
           
  1. 安裝mysql 所需要的一些必要的庫

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

  2. 安裝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

           
  1. 使用者使用者組及目錄的建立
groupadd mysql 

useradd -r -g mysql mysql 


           
  1. 解壓 mysql 源碼包
tar -zxv -f mysql-..tar.gz  
cd mysql-.
           
  1. 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.

原因:
    在 "\" 後面有空格
           
  1. 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-.
           
  1. 編譯源碼
make && make install
           
  1. 複制配置檔案
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chmod 755 /etc/init.d/mysqld 

           
  1. 初始化資料庫
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

           
  1. 啟動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 指令檢視是否啟動
           
  1. 修改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

登入成功可以操作資料庫了