MySql5.5.37編譯安裝詳解

      今天爲你們介紹下mysql5.5.37的編譯安裝方式,在工做中編譯安裝也是咱們經常使用的一種方式。但願經過這篇文章的介紹,可以給你們提供一個安裝思路!mysql

1、建立mysql的安裝目錄和用戶
c++

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

2、yum安裝依賴庫sql

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

3、編譯安裝cmake
數據庫

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

4、編譯安裝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

5、檢查是否安裝成功

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。

6、配置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啓動出錯解決方法
一、問題
[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]
二、緣由
沒有初始化權限表
三、解決辦法
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

7、設置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;

8、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的編譯安裝今天就先介紹到這裏吧!bash

相關文章
相關標籤/搜索