linux下 yum 安裝mysql和卸載

来源:http://www.cnblogs.com/dingjiaoyang/archive/2016/01/07/5110546.html
-Advertisement-
Play Games

1、查看有沒有安裝過: yum list installed mysql* rpm -qa | grep mysql*2.查看有沒有安裝包: yum list mysql*3.安裝mysql客戶端: yum install mysql4.安裝mysql 伺服器端: ...


1、查看有沒有安裝過:

          yum list installed mysql*

          rpm -qa | grep mysql*

2.查看有沒有安裝包:

          yum list mysql*

 

3.安裝mysql客戶端:

          yum install mysql

 

4.安裝mysql 伺服器端:

          yum install mysql-server

 

          yum install mysql-devel

 

5、啟動&&停止

 

資料庫字元集設置

          mysql配置文件/etc/my.cnf中加入default-character-set=utf8

 

啟動mysql服務:

          service mysqld start或者/etc/init.d/mysqld start

開機啟動:

          chkconfig -add mysqld,查看開機啟動設置是否成功chkconfig --list | grep mysql*

 

          mysqld             0:關閉    1:關閉    2:啟用    3:啟用    4:啟用    5:啟用    6:關閉

停止:

          service mysqld stop
如果啟動不了,檢查在服務中mysqld服務是否已經打開

6、登錄

 

創建root管理員:

          mysqladmin -u root password 123456

  www.2cto.com  

登錄:

          mysql -u root -p輸入密碼即可。

忘記密碼:

          service mysqld stop

 

          mysqld_safe --user=root --skip-grant-tables

 

          mysql -u root

 

          use mysql

 

          update user set password=password("new_pass") where user="root";

 

          flush privileges;  

 

7、遠程訪問

 

1、修改localhost
更改 "mysql" 資料庫里的 "user" 表裡的 "host" 項,從"localhost"改成"%" 
mysql>use mysql; 
mysql>update user set host = '%' where user = 'root'; 
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;

 

2、指定授權
使用myuser/mypassword從任何主機連接到mysql伺服器: 
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

使用myuser/mypassword從ip為192.168.225.166的主機連接到mysql伺服器:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.225.166' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

 

3、泛授權
mysql -h localhost -u root 
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; //賦予任何主機上以root身份訪問數據的許可權 
mysql>FLUSH PRIVILEGES;

 

解決Mysql無法遠程連接的問題 

1、Mysql的埠是否正確
通過netstat -ntlp 查看埠占用情況,一般情況下埠是3306。在用工具連接MySQl是要用到埠。例如My Admin\My Query Browser\MySQl Front等。

2、檢查用戶許可權是否正確
mysql庫的user表裡有兩條記錄:host分別為localhost和%(為了安全,%可以換成你需要外部連接的IP)。

3、查看/etc/mysql/my.cnf中,skip-networking 是否已被註掉
需要註掉
報錯:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (111)

 

sudo gedit /etc/mysql/my.cnf 
#skip-external-locking

#bind-address        = 127.0.0.1

skip-name-resolve


4、查看iptables是否停掉,沒關的情況下,無法連接
通過:service iptables stop臨時關閉。
報錯:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.51.112' (113)

 

 

8、Linux MySQL的幾個重要目錄

  www.2cto.com  

資料庫目錄

         /var/lib/mysql/

配置文件

         /usr/share /mysql(mysql.server命令及配置文件)

相關命令

         /usr/bin(mysqladmin mysqldump等命令)

啟動腳本

         /etc/rc.d/init.d/(啟動腳本文件mysql的目錄)


卸載mysql
1、查找以前是否裝有mysql
命令:rpm -qa|grep -i mysql
可以看到mysql的兩個包:
mysql-*..*.RHEL**
mysqlclient*.RHEL**
2、刪除mysql
刪除命令:rpm -e --nodeps 包名
( rpm -ev mysql-*.RHEL* )
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

 還有另一種方法

yum方式安裝的mysql

 

1、yum remove mysql mysql-server mysql-libs compat-mysql51

2、rm -rf /var/lib/mysql

3、rm /etc/my.cnf

 

查看是否還有mysql軟體:
rpm -qa|grep mysql

如果存在的話,繼續刪除即可。

 

rpm方式安裝的mysql

 

 

a)查看系統中是否以rpm包安裝的mysql:

 

[root@localhost opt]# rpm -qa | grep -i mysql
MySQL-server-5.6.17-1.el6.i686
MySQL-client-5.6.17-1.el6.i686

 

b)卸載mysql

[root@localhost local]# rpm -e MySQL-server-5.6.17-1.el6.i686
[root@localhost local]# rpm -e MySQL-client-5.6.17-1.el6.i686

c)刪除mysql服務

[root@localhost local]# chkconfig --list | grep -i mysql
[root@localhost local]# chkconfig --del mysql

d)刪除分散mysql文件夾

[root@localhost local]# whereis mysql 或者 find / -name mysql

 

mysql: /usr/lib/mysql /usr/share/mysql

清空相關mysql的所有目錄以及文件
rm -rf /usr/lib/mysql
rm -rf /usr/share/mysql

rm -rf /usr/my.cnf

 

通過以上幾步,mysql應該已經完全卸載乾凈了

linux下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

http://www.mysql.com

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

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

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

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

3、登陸mysql

登陸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>

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

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

   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> update user set host='%' where user = 'root';

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

然後查看了下資料庫的host信息如下:

mysql> select host from user where user = 'root';

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

| host |

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

| % |

| 127.0.0.1 |

| localhost.localdomain |

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

3 rows in set (0.00 sec)

host已經有了%這個值,所以直接運行命令:

mysql>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> 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>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> groupadd mysql 增加一個名為mysql的用戶組

7.shell> useradd -g mysql mysql 在mysql用戶組中加一個名為mysql的用戶

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

shell>su root -

8.shell> cd /usr/local/mysql

9.shell> cp support-files/my-medium.cnf /etc/my.cnf

這時會問是否覆蓋重名文件,回答y

10.shell> scripts/mysql_install_db --user=mysql

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

11.shell> chown -R root

註意後面有點,表示將當前目錄下的所有文件與子目錄的擁有者設

定為root用戶

12.shell> chown -R mysql data

表示將當前目錄下的data目錄的擁有者設定為mysql用戶

13.shell> chgrp -R mysql .

註意後面有點,表示將當前目錄下的文件的文件組設為mysql組

14.shell> bin/mysqld_safe --user=root &

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

15.回車顯示shell>

此時你可以

通過 shell>netstat –atln 命令查看3306埠是否已經啟用

也可以 shell>ps -ef | grep mysqld 查看當前系統中的mysqld的進程

或直接 shell>bin/mysql –u root 進入mysql客戶端,進行mysql操作

或shell>bin/mysqladmin shutdown 停止mysql服務

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

通過shell> bin /mysqladmin -u root password '新口令'來設定root用戶的口令,此口令將在進入mysql客戶端和停止mysql服務時需要輸入

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

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

shell>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行:

/usr/share/mysql/mysql.server start

查看啟動日誌:

/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

     

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 在 FMX 下的 TComboBox 下拉菜單字型修改有二種方法:使用 Style,需先設定好 Style 後,再指定預設項的 Style,方法如下:procedure TForm1.FormCreate(Sender: TObject);var i: Integer;begin Combo...
  • String和StringBuffer、StringBuilder的區別
  • 第一節 介面慨述 介面(interface)用來定義一種程式的協定。實現介面的類或者結構要與介面的定義嚴格一致。有了這個協定,就可以拋開編程語言的限制(理論上)。介面可以從多個基介面繼承,而類或結構可以實現多個介面。介面可以包含方法、屬性、事件和索引器。介面本身不提供它所定義的成員的實現。介面只指....
  • protected void btnSend_Click(object sender, EventArgs e) 2: { 3: int temp = -1; 4: int exhibitionID = int.Parse(Request.QueryString["Con...
  • 背景 在程式中,我們調試運行時信息,Log4Net是一個不錯的解決方案。不知道是我用的不好,用到最後反而都不想看日誌了。原因是因為我n個功能使用的預設的Logger來記錄日誌,這樣以來,所有功能記錄的信息都依賴同一個配置,於是所有的信息都在一個文件中,有時候查找起來,極其不方便。 我想,能不能按.....
  • C#中的很多關鍵詞用法比較容易混淆,var和dynamic就是其中一組,他們都可以申明動態類型的變數,但是本質上他們還是有不少區別的。var 在編譯階段已經確定類型,在初始化時候,必須提供初始化的值,而dynamic則可以不提供,它是在運行時才確定類型。
  • 前提linux環境下,當使用umount命令卸載掛載點時,會遇到“device is busy”提示,這時fuser就能查出誰在使用這個資源;當然umount –lf [掛載點] 也可以強制卸載功能fuser 可以顯示出當前哪個程式在使用磁碟上的某個文件、掛載點、甚至網路埠,並給出程式進程的詳細信...
  • [root@linux ~]# history [n][root@linux ~]# history [-c][root@linux ~]# history [-raw] histfiles參數:n :數字,意思是『要列出最近的 n 筆命令列表』的意思!-c :將目前的 shell 中的所有 his...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...