MySQL 5.5.37編譯安裝詳解

來源:互聯網
上載者:User

MySQL 5.5.37編譯安裝詳解

今天為大家介紹下MySQL 5.5.37的編譯安裝方式,在工作中編譯安裝也是我們常用的一種方式。希望通過這篇文章的介紹,能夠給大家提供一個安裝思路!

一、建立mysql的安裝目錄和使用者

mkdir -p /usr/local/mysql  #安裝mysql
mkdir -p /usr/local/mysql/data  #存放資料庫
groupadd mysql
useradd -r -g mysql mysql

二、yum安裝依賴庫
yum install gcc-c++ ncurses-devel –y

#安裝錯誤資訊:
CMake Error atcmake/readlineNaNake:83 (MESSAGE):
Curses library notfound.  Please install appropriatepackage,
#解決方案
yum install ncurses-devel
rm CMakeCache.txt

三、編譯安裝cmake

tar -zxv -f cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./configure
make && make install

四、編譯安裝mysql5.5.37
tar -zxv -f mysql-5.5.37.tar.gz  #解壓
cd mysql-5.5.37
 
#編譯參數
[root@localhost mysql-5.5.37]#
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306
 
#執行make命令
make
make install

五、檢查是否安裝成功
cd /usr/local/mysql/
[root@localhost mysql]#ls
bin COPYING data docs include INSTALL-BINARY lib man mysql-test README scripts share sql-bench support-files
#有bin等以上檔案的話,恭喜你已經成功安裝了mysql。

六、配置mysql5.5.37詳細步驟
#把目前的目錄中所有檔案的所有者設為root,所屬組為mysql
chown -R root:mysql .
chown -R mysql:mysql data (可選)
 
#將mysql的啟動服務添加到系統服務中
[root@localhost mysql]# cp support-files/my-medium.cnf /etc/my.cnf
cp:是否覆蓋"/etc/my.cnf"? y

#mysql啟動出錯解決方案
1、問題
[root@localhost mysql]# /etc/rc.d/init.d/mysql statusMySQL is not running, but lock file (/var/lock/subsys/mysql[FAILED][root@localhost mysql]# /etc/rc.d/init.d/mysql startStarting MySQL...The server quit without updating PID file(/usr/local/mysql/data/localhost.localdomain.pid).                              [FAILED]
2、原因
沒有初始化許可權表
3、解決辦法
cd /usr/local/mysql(進入mysql安裝目錄)chown -R mysql.mysql .
#重新初始化資料庫
[root@B2C-test-server mysql]# ./scripts/mysql_install_db--user=mysql
[root@B2C-test-server mysql]# /etc/init.d/mysql start
Starting MySQL.. SUCCESS!

#直接輸入mysql啟動資料庫出錯:
[root@localhost mysql]# mysql
-bash: mysql: command not found
#解決方案
[root@localhost mysql]# ln -s /usr/local/mysql/bin/mysql/usr/bin/

#修改MySQL的root使用者的密碼以及開啟遠端連線
[root@B2C-test-server mysql]# mysql -u root mysql
mysql> use mysql;
mysql> desc user;
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";    #為root添加遠端連線的能力
 
mysql> update user set Password = password('123456') where User='root'; #設定root使用者密碼
mysql> select Host,User,Password from user where User='root';
mysql> flush privileges;
mysql> exit
 
#重新登入
[root@B2C-test-server mysql]# mysql -u root -p
Enter password:123456
#若還不能進行遠端連線,關閉防火牆
[root@B2C-test-server mysql]# /etc/rc.d/init.d/iptables stop

七、設定mysql密碼
#方法一:在mysql系統外,使用mysqladmin
[root@B2C-test-server mysql]# mysqladmin -u rootflush-privileges password 'root'

#方法一:通過登入mysql系統
[root@B2C-test-server mysql]# mysql -u root -p
Enter password:
mysql> use mysql;
Database changed
mysql> update user set password=password("root")where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4  Warnings: 0
mysql> flush privileges;
mysql> exit;

八、Mysql root密碼忘記解決方案
#方法一:
# /etc/init.d/mysqld stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking&
# mysql -uroot mysql
mysql> update user setPassword=Password('newpassword') where User='root';
mysql> flush privileges;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -penter password:

#方法二:
#修改MySQL的登入設定:
#在[mysqld]的段中加上一句:skip-grant-tables
 
如下:
[root@B2C-test-server mysql]# vi /etc/my.cnf 
[mysqld]           
datadir=/var/lib/mysql   
socket=/var/lib/mysql/mysql.sock   
user=mysql           
skip-grant-tables
 
#重啟mysql
/etc/init.d/mysqld restartStoppingmysqld:           
[  OK  ]Startingmysqld:                                          [  OK  ]
#無密碼登入:
# mysql
mysql> use mysql;update user setPassword=Password('root') where User='root';  mysql> flush privileges;
#退出,修改/etc/my.conf,刪除skip-grant-tables,重啟mysql。搞定

OK! mysql的編譯安裝今天就先介紹到這裡吧!

--------------------------------------分割線 --------------------------------------

Ubuntu 14.04下安裝MySQL

《MySQL權威指南(原書第2版)》清晰中文掃描版 PDF

Ubuntu 14.04 LTS 安裝 LNMP Nginx\PHP5 (PHP-FPM)\MySQL

Ubuntu 14.04下搭建MySQL主從伺服器

Ubuntu 12.04 LTS 構建高可用分布式 MySQL 叢集

Ubuntu 12.04下原始碼安裝MySQL5.6以及Python-MySQLdb

MySQL-5.5.38通用二進位安裝

--------------------------------------分割線 --------------------------------------

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.