CentOS 6.4下安裝MySQL 5.6.22

本文詳細介紹在CentOS 6.4下安裝MySQL 5.6.22的過程,供須要的朋友學習參考。node

1、下載MySQL 安裝包mysql

1) http://dev.mysql.com/downloads/mysql/ 打開網址: Select Platform: 選擇 Linux-Generic
選擇選擇  Linux - Generic (glibc 2.5) (x86, 64-bit), RPM   進行下載;
 
2)下載完後解壓縮並放到安裝文件夾下:
tar -xf MySQL-5.6.22-1.linux_glibc2.5.x86_64.rpm-bundle.tar
mv MySQL-5.6.22-1.linux_glibc2.5.x86_64.rpm-bundle /usr/local/software/
mv MySQL-5.6.22-1.linux_glibc2.5.x86_64.rpm-bundle mysql
其中裏面要使用的是這兩個:
MySQL數據庫: MySQL-server-5.6.22-1.linux_glibc2.5.x86_64.rpm
MySQL客戶端:MySQL-client-5.6.22-1.linux_glibc2.5.x86_64.rpm
 
3)安裝環境:cat /etc/ RedHat-release  
CentOS release 6.4 (Final)
 
2、MySql安裝
1)3)檢查安裝
在安裝MySQL以前,先檢查CentOS系統中是否已經安裝了一個MySQL,若是已經安裝先卸載,否則會致使安裝新的MySQL失敗。 
rpm -qa | grep mysql   --查看系統以前是否已安裝MySQL。 

mysql-libs-5.1.47-4.el6.i686  顯示結果說明 CentOS6.0系統自帶了一個MySQL,咱們須要刪除這個老版本,用root用戶執行下面語句linux

su - 
密碼:
rpm -e --nodeps mysql-libs-5.1.47-4.el6.i686  
先切換到"root"用戶下,而後執行刪除語句,刪除以後,咱們再次查看,發現已經成功刪除了CentOS6.0自帶的舊MySQL版本。
在刪除MySQL的rpm後,還要進行一些掃尾操做,網上有兩種操做。(備註:我在這裏兩種都沒有用到,發現系統中並無其餘殘餘的MySQL信息。)
第一種善後處理:使用下面命令進行處理。
rm -rf /var/lib/mysql*
rm -rf /usr/share/mysql*
另外一種善後處理:卸載後 /var/lib/mysql 中的  /etc/my.cnf 會重命名爲 my.cnf.rpmsave,/var/log/mysqld.log 會重命名爲 /var/log/mysqld.log.rpmsave,若是肯定沒用後就手工刪除。
 
2)安裝MySql 服務端
rpm -ivh MySQL-server-5.6.22-1.linux_glibc2.5.x86_64.rpm 
Preparing... ########################################### [100%] 
1:MySQL-server ########################################### [100%] 
warning: user mysql does not exist - using root 
warning: group mysql does not exist - using root 
2014-08-10 22:43:44 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 
2014-08-10 22:43:44 23012 [Note] InnoDB: Using atomics to ref count buffer pool pages 
2014-08-10 22:43:44 23012 [Note] InnoDB: The InnoDB memory heap is disabled 
2014-08-10 22:43:44 23012 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 
2014-08-10 22:43:44 23012 [Note] InnoDB: Memory barrier is not used 
2014-08-10 22:43:44 23012 [Note] InnoDB: Compressed tables use zlib 1.2.3 
2014-08-10 22:43:44 23012 [Note] InnoDB: Using Linux native AIO 
2014-08-10 22:43:44 23012 [Note] InnoDB: Not using CPU crc32 instructions 
2014-08-10 22:43:44 23012 [Note] InnoDB: Initializing buffer pool, size = 128.0M 
2014-08-10 22:43:44 23012 [Note] InnoDB: Completed initialization of buffer pool 
2014-08-10 22:43:45 23012 [Note] InnoDB: The first specified data file ./ibdata1 did not exist: a new database to be created! 
2014-08-10 22:43:45 23012 [Note] InnoDB: Setting file ./ibdata1 size to 12 MB 
2014-08-10 22:43:45 23012 [Note] InnoDB: Database physically writes the file full: wait... 
2014-08-10 22:43:45 23012 [Note] InnoDB: Setting log file ./ib_logfile101 size to 48 MB 
2014-08-10 22:43:46 23012 [Note] InnoDB: Setting log file ./ib_logfile1 size to 48 MB 
2014-08-10 22:43:46 23012 [Note] InnoDB: Renaming log file ./ib_logfile101 to ./ib_logfile0 
2014-08-10 22:43:46 23012 [Warning] InnoDB: New log files created, LSN=45781 
2014-08-10 22:43:46 23012 [Note] InnoDB: Doublewrite buffer not found: creating new 
2014-08-10 22:43:46 23012 [Note] InnoDB: Doublewrite buffer created 
2014-08-10 22:43:46 23012 [Note] InnoDB: 128 rollback segment(s) are active. 
2014-08-10 22:43:46 23012 [Warning] InnoDB: Creating foreign key constraint system tables. 
2014-08-10 22:43:47 23012 [Note] InnoDB: Foreign key constraint system tables created 
2014-08-10 22:43:47 23012 [Note] InnoDB: Creating tablespace and datafile system tables. 
2014-08-10 22:43:47 23012 [Note] InnoDB: Tablespace and datafile system tables created. 
2014-08-10 22:43:47 23012 [Note] InnoDB: Waiting for purge to start 
2014-08-10 22:43:47 23012 [Note] InnoDB: 5.6.22 started; log sequence number 0 
A random root password has been set. You will find it in '/root/.mysql_secret'. 
2014-08-10 22:43:48 23012 [Note] Binlog end 
2014-08-10 22:43:48 23012 [Note] InnoDB: FTS optimize thread exiting. 
2014-08-10 22:43:48 23012 [Note] InnoDB: Starting shutdown... 
2014-08-10 22:43:50 23012 [Note] InnoDB: Shutdown completed; log sequence number 1625977 


2014-08-10 22:43:50 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 
2014-08-10 22:43:50 23039 [Note] InnoDB: Using atomics to ref count buffer pool pages 
2014-08-10 22:43:50 23039 [Note] InnoDB: The InnoDB memory heap is disabled 
2014-08-10 22:43:50 23039 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 
2014-08-10 22:43:50 23039 [Note] InnoDB: Memory barrier is not used 
2014-08-10 22:43:50 23039 [Note] InnoDB: Compressed tables use zlib 1.2.3 
2014-08-10 22:43:50 23039 [Note] InnoDB: Using Linux native AIO 
2014-08-10 22:43:50 23039 [Note] InnoDB: Not using CPU crc32 instructions 
2014-08-10 22:43:50 23039 [Note] InnoDB: Initializing buffer pool, size = 128.0M 
2014-08-10 22:43:50 23039 [Note] InnoDB: Completed initialization of buffer pool 
2014-08-10 22:43:50 23039 [Note] InnoDB: Highest supported file format is Barracuda. 
2014-08-10 22:43:50 23039 [Note] InnoDB: 128 rollback segment(s) are active. 
2014-08-10 22:43:50 23039 [Note] InnoDB: Waiting for purge to start 
2014-08-10 22:43:50 23039 [Note] InnoDB: 5.6.22 started; log sequence number 1625977 
2014-08-10 22:43:50 23039 [Note] Binlog end 
2014-08-10 22:43:50 23039 [Note] InnoDB: FTS optimize thread exiting. 
2014-08-10 22:43:50 23039 [Note] InnoDB: Starting shutdown... 
2014-08-10 22:43:52 23039 [Note] InnoDB: Shutdown completed; log sequence number 1625987 

A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER ! 
You will find that password in '/root/.mysql_secret'. 

You must change that password on your first connect, 
no other statement but 'SET PASSWORD' will be accepted. 
See the manual for the semantics of the 'password expired' flag. 

Also, the account for the anonymous user has been removed. 

In addition, you can run: 

/usr/bin/mysql_secure_installation 

which will also give you the option of removing the test database. 
This is strongly recommended for production servers. 

See the manual for more instructions. 

Please report any problems at  http://bugs.mysql.com/ 

The latest information about MySQL is available on the web at 

http://www.mysql.com 

Support MySQL by buying support/licenses at  http://shop.mysql.com 

New default config file was created as /usr/my.cnf and 
will be used by default by the server when you start it. 
You may edit this file to change server settings 

3)檢測 MySQL 3306 端口是否安打開。測試是否成功可運行 netstat 看 MySQL 端口是否打開,如打開表示服務已經啓動,安裝成功。MySQL 默認的端口是3306。
[ root@hadoop Mysql]# netstat -nat  
Active Internet connections (servers and established) 
Proto Recv-Q Send-Q Local Address Foreign Address State 
tcp 0 0 0.0.0.0:50070 0.0.0.0:* LISTEN 
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 
tcp 0 0 0.0.0.0:50010 0.0.0.0:* LISTEN 
tcp 0 0 0.0.0.0:50075 0.0.0.0:* LISTEN 
tcp 0 0 0.0.0.0:50020 0.0.0.0:* LISTEN 
tcp 0 0 192.168.128.129:9000 0.0.0.0:* LISTEN 
tcp 0 0 0.0.0.0:50090 0.0.0.0:* LISTEN 
tcp 1 0 192.168.128.129:35744 63.130.76.64:80 CLOSE_WAIT 
tcp 0 0 192.168.128.129:34847 192.168.128.129:9000 ESTABLISHED 
tcp 0 0 192.168.128.129:35770 192.168.128.129:9000 TIME_WAIT 
tcp 0 52 192.168.128.129:22 192.168.128.1:1297 ESTABLISHED 
tcp 0 0 192.168.128.129:50968 61.135.185.247:80 ESTABLISHED 
tcp 0 0 192.168.128.129:9000 192.168.128.129:34847 ESTABLISHED 
tcp 0 0 :::34803 :::* LISTEN 
tcp 0 0 :::22 :::* LISTEN 
tcp 0 0 ::1:631 :::* LISTEN 
tcp 0 0 :::8088 :::* LISTEN 
tcp 0 0 :::13562 :::* LISTEN 
tcp 0 0 :::8030 :::* LISTEN 
tcp 0 0 :::8031 :::* LISTEN 
tcp 0 0 :::8032 :::* LISTEN 
tcp 0 0 :::8033 :::* LISTEN 
tcp 0 0 :::8040 :::* LISTEN 
tcp 0 0 :::8042 :::* LISTEN 
tcp 0 0 ::ffff:192.168.128.129:8031 ::ffff:192.168.128.12:58051 ESTABLISHED 
tcp 0 0 ::ffff:192.168.128.12:58051 ::ffff:192.168.128.129:8031 ESTABLISHED 
 
4)啓動MySql 服務
[ root@hadoop Mysql]# service mysql start   
Starting MySQL.......... SUCCESS! 
 
5) 安裝客戶端
[ root@hadoop Mysql]# rpm -ivh MySQL-client-5.6.22-1.linux_glibc2.5.x86_64.rpm
Preparing...                ########################################### [100%]
1:MySQL-client           ^C########################################### [100%]   安裝完成
 
5)MySQL的幾個重要目錄。
MySQL安裝完成後不像 SQL Server 默認安裝在一個目錄,它的數據庫文件、配置文件和命令文件分別在不一樣的目錄,瞭解這些目錄很是重要,尤爲對於Linux的初學者,由於 Linux自己的目錄結構就比較複雜,若是搞不清楚MySQL的安裝目錄那就無從談起深刻學習。
a、數據庫目錄     /var/lib/mysql/ 
b、配置文件     /usr/share/mysql(mysql.server命令及配置文件) 
c、相關命令    /usr/bin(mysqladmin mysqldump等命令) 
d、啓動腳本   /etc/rc.d/init.d/(啓動腳本文件mysql的目錄) 
如:/etc/rc.d/init.d/mysql start/restart/stop/status
 
6)更改 MySQL 目錄。因爲MySQL數據庫目錄佔用磁盤比較大,而MySQL默認的數據文件存儲目錄爲 /"var/lib/mysql",也能夠把要把數據目錄移到 "/" 根目錄下的 "mysql_data" 目錄中(若是作測試用就不用移動了)。
 
中止 MySql 服務進程:service mysql stop  或者  mysqladmin -u root -p shutdown
MySQL默認用戶名爲"root",此處的"root"與Linux的最高權限用戶"root"不是一下子,並且默認的用戶"root"的密碼爲空,因此上圖中讓輸入密碼,直接點擊回車便可。
把 "/var/lib/mysql" 整個目錄移到 "/mysql_data"
mv /var/lib/mysql /mysql_data
 
找到my.cnf配置文件
若是"/etc/"目錄下沒有my.cnf配置文件,請到 "/usr/share/mysql/" 下找到 my-default.cnf  文件,拷貝其中一個合適的配置文件到 "/etc/" 並更名爲 "my.cnf" 中。命令以下:
cp /usr/share/mysql/my-medium.cnf  /etc/my.cnf
 
 
編輯MySQL的配置文件 "/etc/my.cnf" 爲保證MySQL可以正常工做,須要指明"mysql.sock"文件的產生位置,以及默認編碼修改成UTF-8。用下面命令:
vim /etc /my.cnf
[mysqld] #下添加如下命令
socket = /var/lib/mysql/mysql/mysql.sock
datadir=/mysql_data/mysql   #若是你的數據存儲位置要改變的話須要在這裏指定存儲目錄
character-set-server=utf8

 

lower_case_table_names=1  
#(注意linux下mysql安裝完後是默認:區分表名的大小寫,不區分列名的大小寫;#  lower_case_table_names = 0    0:區分大小寫,1:不區分大小寫)
注意:
1)最後一行,我在本地安裝的時候沒有添加此設置也能夠照樣運行起來,加不加還要看大家本身了。
2)還有在此配置文件還有 [client] 的一下配置 其中也能夠設置 socket ,datadir 兩個選項,我這裏也沒有(此處不作配置,由於只是安裝 MySql 測試用),不知道是版本的緣由仍是什麼,若是你們須要弄清楚這個怎麼使用,那就本身先百度一下吧;
3)若是你修改了數據的存儲位置目錄 ,則能夠執行如下命令來修改MySQL啓動腳本 "/etc/rc.d/init.d/mysql"  
最後,須要修改MySQL啓動腳本 /etc/rc.d/init.d/mysql,修改 datadir=/mysql_data/mysql。 
vim /etc/rc.d/init.d/mysql
 
7)從新啓動MySQL服務 
service mysql start
發生錯誤:Starting MySQL ERROR! The server quit without updataing PID file....
經百度後解決方法是:
vi  /etc/selinux/config
把 SELINUX=enforcing 改成 SELINUX=disabled 後存盤退出重啓機器試試, 必需要重啓,很關鍵
 
千辛萬苦重啓後盼望着能管用,結果 服務器啓動不了了。。。。。
顯示錯誤:Kernel panic - not syncing: Attempted to kill init  
PS:太糟心了,安裝個MySQL 費這麼大的勁。。。
 
通過百度又找到新的解決文案:解決辦法 
系統啓動的時候,按下 ‘e’ 鍵進入 grub 編輯界面,編輯 grub 菜單,選擇 「kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet」  一欄,按‘e’鍵進入編輯,在末尾增長enforcing=0,即:
kernel /vmlinuz-2.6.23.1-42.fc8 ro root=/dev/vogroup00/logvol00 rhgb quiet enforcing=0
按‘b’鍵繼續引導,OK順利前進。
 
好吧終於順利進入到 Linux 系統,啓動MySQL 服務:
service mysql start
又提示錯誤:MySQL: Starting MySQL….. ERROR! The server quit without updating PID file解決辦法
是由於 MySQL 沒有初始化表
/usr/bin/mysql_install_db --user=mysql
service mysql start 就能夠重啓MySQL 服務了。
 
PS:安裝個MySql 着實不容易啊。。。。。
 
8)修改登陸密碼
MySQL默認沒有密碼,安裝完畢增長密碼的重要性是不言而喻的。修改前,直接登陸
檢查 MySql 端口是否開啓:
[root@ Hadoop ~]#netstat -ntlp  | grep 3306
tcp        0      0 :::3306                     :::*                        LISTEN      5052/mysqld  
 
$:mysql
報錯:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
發現 與設置 MySql 服務器的 socket 位置不同。改一下 /etc/my.cn
修改 
socket = /var/lib/mysql/mysql.sock   --保存;
 
再次進入:
[root@hadoop init.d]# mysql 
又報錯。。。
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
百度一下解決方法:
[root@hadoop ~]#mysqld_safe --user=mysql --skip-grant-tables --skip-networking &  mysql -u root mysql
 
再次進入:
[root@hadoop ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.22 MySQL Community Server (GPL)
 
Copyright (c) 2000, 2014,  Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> 
OK 了總算安裝成功了。。。
 
在沒有添加密碼前,直接輸入"mysql"就能登陸到MySQL數據庫裏。 修改登陸密碼:
[root@hadoop ~]mysqladmin -u root password 'root'
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼 
 
若是已經鏈接上了 MySql 可使用下面語句 :
mysql> use mysql; 
mysql> UPDATE user SET Password=PASSWORD('root') where USER='root';
Query OK, 4 rows affected (0.04 sec)
Rows matched: 4  Changed: 4  Warnings: 0
修改爲功;
 
 
 
轉自:http://www.linuxidc.com/Linux/2015-01/111744.htm
相關文章
相關標籤/搜索