天天看點

mysql 删除與安裝

解除安裝mysql

1、查找以前是否裝有mysql

指令:rpm -qa|grep -i mysql

可以看到mysql的兩個包:

mysql-4.1.12-3.RHEL4.1

mysqlclient10-3.23.58-4.RHEL4.1

2、删除mysql

删除指令:rpm -e --nodeps 包名

( rpm -ev mysql-4.1.12-3.RHEL4.1 )

3、删除老版本mysql的開發頭檔案和庫

指令:rm -fr /usr/lib/mysql

rm -fr /usr/include/mysql

注意:解除安裝後/var/lib/mysql中的資料及/etc/my.cnf不會删除,如果确定沒用後就手工删除

rm -f /etc/my.cnf

  rm -fr /var/lib/mysql

安裝mysql

安裝前準備:兩個rpm包

MySQL-client-5.1.20-0.glibc23.i386.rpm

MySQL-server-5.1.20-0.glibc23.i386.rpm

1、安裝服務端:

指令:rpm -ivh MySQL-server-5.1.20-0.glibc23.i386.rpm

安裝成功會出現....

warning: MySQL-server-5.1.20-0.glibc23.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5

Preparing... ########################################### [100%]

1:MySQL-server ########################################### [100%]

080220 13:58:27 [Note] Plugin 'InnoDB' disabled by command line option

080220 13:58:28 [Note] Plugin 'InnoDB' disabled by command line option

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'

/usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

See the manual for more instructions.

Please report any problems with the /usr/bin/mysqlbug script!

The latest information about MySQL is available on the web at

<a href="http://www.mysql.com/">http://www.mysql.com</a>

Starting MySQL.[ OK ]

2、安裝用戶端

指令:rpm -ivh MySQL-client-5.1.20-0.glibc23.i386.rpm

成功表現:

[root@localhost ~]# rpm -ivh MySQL-client-5.1.20-0.glibc23.i386.rpm

warning: MySQL-client-5.1.20-0.glibc23.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5

1:MySQL-client ########################################### [100%]

3、登陸mysql

如果登陸出錯:can`t connect to local mysql server through socket 'var/lib/mysql/mysql.sock'

請 在根目錄 : service mysql start

登陸MySql的指令是mysql,mysql 的使用文法如下:

mysql [-u username] [-h host] [-p[password]] [dbname]

username 與 password 分别是 MySQL 的使用者名與密碼,mysql的初始管理帳号是root,沒有密碼,注意:這個root使用者不是Linux的系統使用者。MySQL預設使用者是root,由于初始沒有密碼,第一次進時隻需鍵入mysql即可

[root@localhost ~]# mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.1.20-beta MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql&gt;

出現了“mysql&gt;”提示符,恭喜你,安裝成功!

   增加了密碼後的登入格式如下:

   mysql -u root -p

   Enter password: (輸入密碼)

   其中-u後跟的是使用者名,-p要求輸入密碼,回車後在輸入密碼處輸入密碼。

   注意:這個mysql檔案在/usr/bin目錄下,與後面講的啟動檔案/etc/init.d/mysql不是一個檔案。

補:

通過rpm包安裝、配置及解除安裝mysql的詳細過程.

  以MySQL-server-4.0.14-0.i386.rpm為例,放在/data目錄下

  cd /data

  rpm -ivh MySQL-server-4.0.14-0.i386.rpm

  安裝完成後在/usr/share/mysql目錄中會有一個mysql的啟動腳本mysql.server及示例配置檔案等(如my-huge.cnf、my-large.cnf、my-medium.cnf)

  拷貝一個示例配置檔案作為mysql的配置檔案:

  cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

  rpm包安裝完後自動将mysql安裝成系統服務,是以可以使用下面指令啟動、停止mysql

  啟動mysql

  /etc/init.d/mysql start 或 service mysql start

  停止mysql

  /etc/init.d/mysql stop 或 service mysql stop

  到此,mysql服務就安裝配置完成。

  安裝mysql用戶端

  rpm -ivh MySQL-client-4.0.14-0.i386.rpm

  mysql安裝好後目錄結構如下:

  工具程式在/usr/bin目錄中---ls /usr/bin/mysql*

  伺服器程式/usr/sbin/mysqld

  資料目錄/var/lib/mysql

  預設情況下mysql将錯誤日志檔案、二進制日志檔案及程序檔案寫在/var/lib/mysql目錄中,如localhost.err、localhost.pid、localhost-bin.001等

  要改變這些情況可以修改/etc/my.cnf檔案

  如将日志檔案寫在/var/log目錄中,可以在my.cnf檔案中加入下面兩行:

  [mysqld_safe]

  err-log = /var/log/mysqld.log

  有個實用程式/usr/bin/mysql_install_db,該程式可以用來初始化 mysql資料庫,即建立/var/log/mysql目錄,及建立mysql資料庫(mysql授權表等資訊)及test資料庫(空庫),如果不小心删 除了/var/log/mysql目錄可以通過該程式來初始化.

  解除安裝mysql

  rpm -qa|grep -i mysql

  rpm -ev MySQL-server-4.0.14-0 MySQL-client-4.0.14-0

  解除安裝後/var/lib/mysql中的資料及/etc/my.cnf不會删除,如果确定沒用後就手工删除

  rm -f /etc/my.cnf

  rm -rf /var/lib/mysql

mysql 1130錯誤解決方法:

通過MySQL-Front或mysql administrator連接配接mysql的時候發生的這個錯誤

ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server

說明所連接配接的使用者帳号沒有遠端連接配接的權限,隻能在本機(localhost)登入。

需更改 mysql 資料庫裡的 user表裡的 host項

把localhost改稱%

具體步驟:登陸到mysql

首先 use mysql;

按照别人提供的方式update的時候,出現錯誤。

mysql&gt; update user set host='%' where user = 'root';

ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'

然後檢視了下資料庫的host資訊如下:

mysql&gt; select host from user where user = 'root';

+-----------------------+

| host |

| % |

| 127.0.0.1 |

| localhost.localdomain |

3 rows in set (0.00 sec)

host已經有了%這個值,是以直接運作指令:

mysql&gt;flush privileges;

再用mysql administrator連接配接...成功!!!

tar.gz版本安裝:

版本1:

1。把MYSQL安裝包放置并解壓到/usr/local下

tar zxvf mysql-standard-5.0.27-linux-i686-glibc23.tar.gz

2。為目錄建立符号連結

ln -s mysql-standard-4.0.24-pc-linux-gnu-i686 mysql

3。建立MYSQL組和使用者

groupadd mysql

useradd -g mysql mysql

4。改變mysql目錄的所屬使用者群組

chown -R mysql . #注意保證此時的目前目錄是/usr/lcoal/mysql

chgrp -R mysql .

5。以mysql使用者執行配置腳本

su mysql #切換到mysql使用者

cd /usr/local/mysql #注意切換使用者以後,工作目錄已經不是/usr/local/mysql。是以得重新進去

./configure #執行配置腳本

6。進入資料庫,檢查安裝是否成功

/usr/local/mysql/bin/mysql

如果出現mysql的提示符且進入,說明安裝成功!

7。在系統啟動時自動打開mysql服務

su - #切換回root使用者

cd /usr/local/mysql

cp support-files/mysql.server /etc/rc.d/init.d/mysql #把mysql的腳本檔案拷到系統的啟動目錄下

cd /etc/rc.d/init.d/

chmod +x mysql #改為可執行檔案屬性

chkconfig --add mysql #将mysql加到啟動服務清單裡

chkconfig mysql on #讓系統啟動時自動打開mysql服務

重起系統後,執行 /usr/local/mysql/bin/mysql ,如果出現mysql的提示符,說明整個安裝成功

版本2:

mysql-standard-4.0.24-pc-linux-gnu-i686.tar.gz 是mysql4.0.24版本的安裝檔案,是一個二進制的壓縮包,是以我們的安裝方式就為二進制分發安裝。

安裝步驟:

1.将 mysql-standard-4.0.24-pc-linux-gnu-i686.tar.gz 拷貝到一個目錄中

2.shell&gt; tar zvxf mysql-standard-4.0.24-pc-linux-gnu-i686.tar.gz

3.上面的指令将在目前目錄下生成一個mysql-standard-4.0.24-pc-linux-gnu-i686檔案夾

4.shell&gt;mv mysql-standard-4.0.24-pc-linux-gnu-i686 /usr/local/mysql

5.上面的指令是将mysql-standard-4.0.24-pc-linux-gnu-i686下的所有東東,剪切到/usr/local/mysql 下,進行這一步是為了以後的友善。

6.shell&gt; groupadd mysql 增加一個名為mysql的使用者組

7.shell&gt; useradd -g mysql mysql 在mysql使用者組中加一個名為mysql的使用者

如果上面的兩個指令不能執行,那麼要切換到root使用者下執行

shell&gt;su root -

8.shell&gt; cd /usr/local/mysql

9.shell&gt; cp support-files/my-medium.cnf /etc/my.cnf

這時會問是否覆寫重名檔案,回答y

10.shell&gt; scripts/mysql_install_db --user=mysql

以mysql使用者初始化資料庫,必須以mysql使用者

11.shell&gt; chown -R root

注意後面有點,表示将目前目錄下的所有檔案與子目錄的擁有者設

定為root使用者

12.shell&gt; chown -R mysql data

表示将目前目錄下的data目錄的擁有者設定為mysql使用者

13.shell&gt; chgrp -R mysql .

注意後面有點,表示将目前目錄下的檔案的檔案組設為mysql組

14.shell&gt; bin/mysqld_safe --user=root &amp;

此時如果沒有出現“……ended”字樣,大功告成!

15.回車顯示shell&gt;

此時你可以

通過 shell&gt;netstat –atln 指令檢視3306端口是否已經啟用

也可以 shell&gt;ps -ef | grep mysqld 檢視目前系統中的mysqld的程序

或直接 shell&gt;bin/mysql –u root 進入mysql用戶端,進行mysql操作

或shell&gt;bin/mysqladmin shutdown 停止mysql服務

記住:此時你的root使用者是沒有密碼的,任何身份都可以用root進入,你可以

通過shell&gt; bin /mysqladmin -u root password '新密碼'來設定root使用者的密碼,此密碼将在進入mysql用戶端和停止mysql服務時需要輸入

提示:在啟單個服務的時候,可以通過修改/etc/my.cnf檔案來配置

可以用VI編輯器打開my.cnf ,怎麼打開呢,看下面

shell&gt;vi my.cnf 打開my.cnf

找到下面這段

[mysqld]

port = 8888

socket = /tmp/mysql.sock

可以在後面加上相應的配置

log = /var/log/mysql.log

datadir = /free/mysqldbf

如 log = /* 改變log的儲存位置

datadir = /free/mysqldbf 改變data的儲存位置

希望對遇到同樣問題的朋友有點點幫助

常用指令:

啟動 MySQL:

service mysql start

/etc/init.d/mysql start

/usr/share/mysql/mysql.server start

[mysql.server]

# 注釋掉 basedir 行,否則 MySql 可能不能啟動

# 據說是 MySql 的 bug

# basedir=/var/lib

root登入時,自動啟動mysql:

在 /root/.bash_profile 檔案中增加1行:

檢視啟動日志:

/var/log/messages

顯示MySQL所有使用者:

use mysql;

select host,user,password from user;

添加 MySQL 使用者(user name:user1,password:sql):

grant all on *.* to user1@'%' identified by 'sql' with grant option;

删除 MySQL 使用者:

delete from user where user='user1';

配置環境變量:

PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:/usr/local/mysql/bin:$PATH