1. 程式人生 > >ubuntu15.04手動安裝MySQL5.6.27資料庫

ubuntu15.04手動安裝MySQL5.6.27資料庫

ubuntu15.04手動安裝MySQL5.6.27資料庫

1.手動安裝的原因

使用apt-get install mysql-server命令安裝MySQL的時候,環境變數已經配好了,

但是由於配置檔案/etc/mysql/my.cnf配置不完整,跟網上的不一樣,而且這種安裝方法是預設繫結到本機上的,也就是說只能在本機

訪問,不能從其他機子進行遠端訪問(在賬號允許在其他機子登陸的情形下)。

按照網上的方法,在my.cnf下的[mysqld]下並不能找到bind-address=127.0.0.1這一項。我就添加了bind-address=0.0.0.0這一項,但

是之後啟動一直出錯。。。然後在修改編碼後shell

登陸時,居然還是不能敲入中文,這讓人更加無語。。。

apt-get install比較方便,都是系統幫你配好了,要更改比較麻煩,不能按照自己的個性設定。

2.手動安裝

2.1下載MySQL安裝包

訪問MySQL官網:,根據系統下載對應的版本,要註冊一個oracle賬號,才可以下載。

如我的機子是64位的ubuntu版本,下載的是mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz

如果你的機子是32位的,安裝64位版本會出錯!因為x86_6464位版本,而x86才是32位版本。

下載連結:http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz

由於下載的壓縮包較大,存放在/tmp目錄下。

2.2解壓mysql壓縮包

首先切換到/usr/local目錄下:cd /usr/local

然後解壓:

sudo tar zxvf /tmp/mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz

當前目錄下出現解壓後的資料夾:mysql-5.6.27-linux-glibc2.5-x86_64

將其重新命名為mysqlmv mysql-5.6.27-linux-glibc2.5-x86_64 mysql

2.3更改mysql檔案及其子目錄的許可權

解壓後屬主預設是root,屬組預設是root,我的使用者名稱是gzx。改變屬主為我。

sudo chown -R gzx.gzx mysql

接下來在切換到mysql目錄下:cd mysql

執行 sudo ./scripts/mysql_install_db --user=gzx

複製檔案到init.d下,使機子開機時自動啟動mysql伺服器。

sudo cp support-files/mysql.server  /etc/init.d/mysql.server

執行sudo  ./scripts/mysql_install_db  --user=gzx

如果提示找不到libaio.so.1共享庫找不到,即如下圖:

說明ubuntu15.04不存在libaio.so.1,查詢一下是否安裝:dpkg  -l | grep  libaio

如果什麼都沒有顯示,說明沒有安裝這個依賴包,

找一下軟體包的名字:apt-cache  search  libaio

然後根據軟體包的名字進行下載:sudo  apt-get install  libaio-dev  libaio1

如下圖:

最後再重複sudo  ./scripts/mysql_install_db   --user=gzx即可。

安裝成功的畫面如下:


啟動mysql伺服器:./support-files/mysql.server  start

如果出現如下錯誤:without updating files

修改mysql目錄下的my.cnf配置檔案:

找到[mysqld]模組,去掉註釋#,新增

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

port=3306

儲存檔案後再執行上述命令即可。

2.4 檢視mysql伺服器是否啟動

使用如下命令:sudo lsof -i:3306

顯示如下介面則表示成功啟動:

否則可能是配置檔案有錯誤。

2.5 配置環境變數

為了能在shell下使用mysqlbin工具,需要將其配置到/etc/profile裡。

命令如下:sudo vi /etc/profile

在上方新增一行:export MYSQL_HOME=/usr/local/mysql

然後在PATH末尾下新增bin目錄,新增$MYSQL_HOME/bin:$PATHPATH末尾

具體如下圖:

儲存後退出,執行如下命令,使環境變數生效:source /etc/profile

再在shell下執行如下命令 :export $MYSQL_HOME

具體如下圖:



2.6 登陸mysql

使用root賬號登陸:mysql -uroot -p

預設密碼為空。

出現如下介面,表示登陸成功:



2.7 修改mysql的編碼方式

預設情況下,mysql建立資料庫和表時使用的編碼為latin1,不能使用中文,需要修改配置檔案my.cnf

修改前:


my.cnf下找到[client]模組,新增如下文字:default-character-set=utf8

my.cnf下找到[mysql]模組,新增如下文字:default-character-set=utf8

my.cnf下找到[mysqld]模組,新增如下文字:

character-server-set=utf8

init_connect='SET NAMES utf8'

注意上述必須是character-server-set=utf8,不能是default-character-set=utf8,否則會出錯。

具體如下圖:



接下來重啟mysql伺服器:service mysql restart。使之前配置生效。

登入伺服器後,輸入如下命令檢視編碼:show variables like 'char%';

出現如下介面表示修改成功:



2.8修改伺服器root的密碼和允許root遠端登陸

如果沒有密碼,root可能會對新建立的表缺許可權。預設情況下,root賬號只能在本機登陸,需修改進行登陸的主機。

2.8.1 更改root賬號為所有主機都可以登陸

update mysql.user set  host='%' where user='root' and host='localhost';

2.8.2 修改root密碼

set password for  'root'@'localhost' = password('201314');

其中201314為密碼明文,但mysql.user使用者表儲存的是經過password()方法處理的密文,這可以通過查表得知。

重新整理許可權,以下為必須步驟,否則不起作用。

flush priveleges;

接下來檢視使用者表中的賬號

select user, host, password  from mysql.user;

結果如下圖:



2.8.3 遠端登陸命令

mysql  -uroot  -p201314  -h192.168.1.107

注意hIP地址最好不要有空格。

2.9 其他錯誤

2.9.1 開機時mysql不會自動開啟

mysql的配置檔案下的[mysqld]下新增user=我的使用者名稱,

再輸入如下命令:sudo update-rc.d  -f  mysql.server defaults

之後重啟機器即可。

2.9.2 修改配置檔案後,啟動時提示錯誤:too many variables

需加上--user=我的使用者名稱選項。如下:

sudo $MYSQL_HOME/bin/mysqld --user=gzx

2.9.3 apt-get install安裝過mysql伺服器

必須解除安裝乾淨,比較有用的命令如下:sudo apt-get purge mysql-server-5.5

同時必須移除其他與mysql相關的配置檔案。

參考部落格連結:

http://yidwo.iteye.com/blog/1848547

http://blog.csdn.net/hackerwin7/article/details/2268681

http://www.codelast.com/?p=8208