天天看點

Mysql 解除安裝 安裝 全過程

Mysql一個熟悉的概念,一個全新的知識領域。開始我全方位資料庫學習之旅。

一切,從安裝開始,自己動手每一步。

Linux在安裝的過程中,可以勾選Mysql的安裝,但是安裝的版本是Mysql-5.1.73,版本非常低。必須重新安裝,目前最新版本是5.7。但是解除安裝再安裝,明顯比空白Linux安裝麻煩一點。

下面開始解除安裝/安裝過程。

1. Mysql下載下傳位址

1

<code>https://dev.mysql.com/downloads/file/?id=469494</code>

2. 确認OS版本

2

3

<code># more /etc/issue</code>

<code>CentOS release 6.7 (Final)</code>

<code>Kernel \r </code><code>on</code> <code>an \m</code>

4

5

6

<code># lsb_release -a</code>

<code>LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch</code>

<code>Distributor ID: CentOS</code>

<code>Description:    CentOS release 6.7 (Final)</code>

<code>Release:        6.7</code>

<code>Codename:       Final</code>

3. 根據OS版本,找到需要下載下傳的Mysql版本,右鍵“将連結另存為”,即可獲得下載下傳位址

<a href="https://s2.51cto.com/wyfs02/M02/9B/CB/wKiom1lnJfny6OMnAAFkFpwtApI810.png-wh_500x0-wm_3-wmp_4-s_2046162689.png" target="_blank"></a>

4. 到Linux下,通過wget下載下傳

<code>wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-server-5.7.18-1.el6.x86_64.rpm</code>

下面三個rpm包存在依賴關系,也需要下載下傳

<code># wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-common-5.7.18-1.el6.x86_64.rpm</code>

<code># wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-client-5.7.18-1.el6.x86_64.rpm</code>

<code># wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-libs-5.7.18-1.el6.x86_64.rpm</code>

5. 檢查查詢發現,已經安裝Mysql-5.1.73,版本非常低。必須重新安裝,目前最新版本是5.7

<code># rpm -qa | grep mysql</code>

<code>mysql-server-5.1.73-5.el6_6.x86_64</code>

<code>mysql-libs-5.1.73-5.el6_6.x86_64</code>

<code>mysql-5.1.73-5.el6_6.x86_64</code>

<code>mysql-connector-odbc-5.1.5r1144-7.el6.x86_64</code>

6. 準備安裝,安裝前,就懷疑,會不會覆寫?會不會沖突?安裝一下試試,就知道了。

同時安裝4個rpm包

<code># rpm -ivh  mysql-community-server-5.7.18-1.el6.x86_64.rpm mysql-community-client-5.7.18-1.el6.x86_64.rpm  mysql-community-common-5.7.18-1.el6.x86_64.rpm mysql-community-libs-5.7.18-1.el6.x86_64.rpm</code>

7. 果然沖突了

7

8

<code>warning: mysql-community-server-5.7.18-1.el6.x86_64.rpm: Header V3 DSA/SHA1 Signature, </code><code>key</code> <code>ID 5072e1f5: NOKEY</code>

<code>Preparing...                ########################################### [100%]</code>

<code>file /usr/share/mysql/czech/errmsg.sys </code><code>from</code> <code>install </code><code>of</code> <code>mysql-community-common-5.7.18-1.el6.x86_64 conflicts </code><code>with</code> <code>file </code><code>from</code> <code>package mysql-libs-5.1.73-5.el6_6.x86_64</code>

<code>file /usr/share/mysql/danish/errmsg.sys </code><code>from</code> <code>install </code><code>of</code> <code>mysql-community-common-5.7.18-1.el6.x86_64 conflicts </code><code>with</code> <code>file </code><code>from</code> <code>package mysql-libs-5.1.73-5.el6_6.x86_64</code>

<code>file /usr/share/mysql/dutch/errmsg.sys </code><code>from</code> <code>install </code><code>of</code> <code>mysql-community-common-5.7.18-1.el6.x86_64 conflicts </code><code>with</code> <code>file </code><code>from</code> <code>package mysql-libs-5.1.73-5.el6_6.x86_64</code>

<code>file /usr/share/mysql/english/errmsg.sys </code><code>from</code> <code>install </code><code>of</code> <code>mysql-community-common-5.7.18-1.el6.x86_64 conflicts </code><code>with</code> <code>file </code><code>from</code> <code>package mysql-libs-5.1.73-5.el6_6.x86_64</code>

<code>file /usr/share/mysql/estonian/errmsg.sys </code><code>from</code> <code>install </code><code>of</code> <code>mysql-community-common-5.7.18-1.el6.x86_64 conflicts </code><code>with</code> <code>file </code><code>from</code> <code>package mysql-libs-5.1.73-5.el6_6.x86_64</code>

<code>......</code>

8. 經過查詢,也安裝失敗了,還是5.1.73版本

<code># rpm -qa|grep mysql</code>

9. 開始解除安裝原有的5.1.73的Mysql,幾種解除安裝方式,首推YUM方式解除安裝

<code># yum remove mysql</code>

<code># rpm -e mysql  // 普通删除模式 </code>

<code># rpm -e </code><code>--nodeps mysql  // 強力删除模式,如果使用上面指令删除時,提示有依賴的其它檔案,則用該指令可以對其進行強力删除</code>

10 .還剩餘下面兩個包

11. 執行yum localinstall安裝,發現需要解除安裝mysql-libs-5.1.73-5.el6_6.x86_64,通過yun解除安裝這個包後,可以安裝了。

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

<code># yum localinstall mysql-community-server-5.7.18-1.el6.x86_64.rpm mysql-community-client-5.7.18-1.el6.x86_64.rpm mysql-community-common-5.7.18-1.el6.x86_64.rpm  mysql-community-libs-5.7.18-</code>

<code>1.el6.x86_64.rpm</code>

<code>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</code>

<code>Loaded plugins: fastestmirror, refresh-packagekit, security</code>

<code>Setting up </code><code>Local</code> <code>Package Process</code>

<code>Examining mysql-community-server-5.7.18-1.el6.x86_64.rpm: mysql-community-server-5.7.18-1.el6.x86_64</code>

<code>Marking mysql-community-server-5.7.18-1.el6.x86_64.rpm </code><code>to</code> <code>be installed</code>

<code>Loading mirror speeds </code><code>from</code> <code>cached hostfile</code>

<code>* base: mirrors.163.com</code>

<code>* extras: mirrors.cn99.com</code>

<code>* updates: mirrors.163.com</code>

<code>Examining mysql-community-client-5.7.18-1.el6.x86_64.rpm: mysql-community-client-5.7.18-1.el6.x86_64</code>

<code>Marking mysql-community-client-5.7.18-1.el6.x86_64.rpm </code><code>to</code> <code>be installed</code>

<code>Examining mysql-community-common-5.7.18-1.el6.x86_64.rpm: mysql-community-common-5.7.18-1.el6.x86_64</code>

<code>Marking mysql-community-common-5.7.18-1.el6.x86_64.rpm </code><code>to</code> <code>be installed</code>

<code>Examining mysql-community-libs-5.7.18-1.el6.x86_64.rpm: mysql-community-libs-5.7.18-1.el6.x86_64</code>

<code>Marking mysql-community-libs-5.7.18-1.el6.x86_64.rpm </code><code>to</code> <code>be installed</code>

<code>Resolving Dependencies</code>

<code>--&gt; Running transaction check</code>

<code>---&gt; Package mysql-community-client.x86_64 0:5.7.18-1.el6 will be installed</code>

<code>---&gt; Package mysql-community-common.x86_64 0:5.7.18-1.el6 will be installed</code>

<code>---&gt; Package mysql-community-libs.x86_64 0:5.7.18-1.el6 will be installed</code>

<code>---&gt; Package mysql-community-server.x86_64 0:5.7.18-1.el6 will be installed</code>

<code>--&gt; Finished Dependency Resolution</code>

<code>Dependencies Resolved</code>

<code>==================================================================================================================================</code>

<code>Package                         Arch            Version               Repository                                            </code><code>Size</code>

<code>Installing:</code>

<code>mysql-community-client          x86_64          5.7.18-1.el6          /mysql-community-client-5.7.18-1.el6.x86_64          100 M</code>

<code>mysql-community-common          x86_64          5.7.18-1.el6          /mysql-community-common-5.7.18-1.el6.x86_64          2.5 M</code>

<code>mysql-community-libs            x86_64          5.7.18-1.el6          /mysql-community-libs-5.7.18-1.el6.x86_64            8.9 M</code>

<code>mysql-community-server          x86_64          5.7.18-1.el6          /mysql-community-server-5.7.18-1.el6.x86_64          769 M</code>

<code>Transaction</code> <code>Summary</code>

<code>Install       4 Package(s)</code>

<code>Total </code><code>size</code><code>: 880 M</code>

<code>Installed </code><code>size</code><code>: 880 M</code>

<code>Is</code> <code>this ok [y/N]: y</code>

<code>Downloading Packages:</code>

<code>Running rpm_check_debug</code>

<code>Running </code><code>Transaction</code> <code>Test</code>

<code>Transaction</code> <code>Test Succeeded</code>

<code>Running </code><code>Transaction</code>

<code>Installing : mysql-community-common-5.7.18-1.el6.x86_64                                                                     1/4</code>

<code>Installing : mysql-community-libs-5.7.18-1.el6.x86_64                                                                       2/4</code>

<code>Installing : mysql-community-client-5.7.18-1.el6.x86_64                                                                     3/4</code>

<code>Installing : mysql-community-server-5.7.18-1.el6.x86_64                                                                     4/4</code>

<code>Verifying  : mysql-community-server-5.7.18-1.el6.x86_64                                                                     1/4</code>

<code>Verifying  : mysql-community-libs-5.7.18-1.el6.x86_64                                                                       2/4</code>

<code>Verifying  : mysql-community-common-5.7.18-1.el6.x86_64                                                                     3/4</code>

<code>Verifying  : mysql-community-client-5.7.18-1.el6.x86_64                                                                     4/4</code>

<code>Installed:</code>

<code>mysql-community-client.x86_64 0:5.7.18-1.el6                    mysql-community-common.x86_64 0:5.7.18-1.el6</code>

<code>mysql-community-libs.x86_64 0:5.7.18-1.el6                      mysql-community-server.x86_64 0:5.7.18-1.el6</code>

<code>Complete!</code>

12. 最後檢查,已經安裝成功

<code>mysql-community-client-5.7.18-1.el6.x86_64</code>

<code>mysql-community-libs-5.7.18-1.el6.x86_64</code>

<code>mysql-community-common-5.7.18-1.el6.x86_64</code>

<code>mysql-community-server-5.7.18-1.el6.x86_64</code>

13. 安裝完成,但是啟動的時候遇到了問題:

<code># service mysqld restart</code>

<code>Stopping mysqld:                                           [  OK  ]</code>

<code>Initializing MySQL </code><code>database</code><code>:  2017-07-11T15:23:50.462866Z 0 [Warning] </code><code>TIMESTAMP</code> <code>with</code> <code>implicit </code><code>DEFAULT</code> <code>value </code><code>is</code> <code>deprecated. Please use </code><code>--explicit_defaults_for_timestamp server option (see documentation for more details).</code>

<code>2017-07-11T15:23:50.465315Z 0 [ERROR] </code><code>--initialize specified but the data directory has files in it. Aborting.</code>

<code>2017-07-11T15:23:50.465365Z 0 [ERROR] Aborting</code>

<code>[FAILED]</code>

14. 百度的解決方法(是由于之前老版本的資料庫已經占用這個檔案夾,需要清空,或者在/etc/my.cnf中重新指定--datadir)

保證 --datadir目錄為空。 /usr/local/var/mysql 這個目錄

15. 啟動成功

<code># cd /var/lib/mysql</code>

<code># ls</code>

<code>auto.cnf  ib_buffer_pool  ibdata1  ib_logfile0  ib_logfile1</code>

<code># rm *</code>

<code>rm: remove regular file `auto.cnf</code><code>'? y</code>

<code>rm: remove regular file `ib_buffer_pool'</code><code>? y</code>

<code>rm: remove regular file `ibdata1</code><code>'? y</code>

<code>rm: remove regular file `ib_logfile0'</code><code>? y</code>

<code>rm: remove regular file `ib_logfile1'? y</code>

# service mysqld restart

<code>Initializing MySQL </code><code>database</code><code>:                               [  OK  ]</code>

<code>Installing validate </code><code>password</code> <code>plugin:                       [  OK  ]</code>

<code>Starting mysqld:                                           [  OK  ]</code>

# ps -ef|grep mysql

<code>root      4533     1  0 23:25 pts/0    00:00:00 /bin/sh /usr/bin/mysqld_safe </code><code>--datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql</code>

<code>mysql     4727  4533  4 23:25 pts/0    00:00:00 /usr/sbin/mysqld </code><code>--basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock</code>

<code>root      4762  3752  0 23:25 pts/0    00:00:00 grep mysql</code>

16. 然而啟動的過程中,又遇到一些問題,密碼不知道了,重置密碼

<code># mysql -u root</code>

<code>ERROR 1045 (28000): Access denied </code><code>for</code> <code>user</code> <code>'root'</code><code>@</code><code>'localhost'</code> <code>(using </code><code>password</code><code>: </code><code>NO</code><code>)</code>

<code>[root@test mysql]# mysql -u root -p</code>

<code>Enter </code><code>password</code><code>:</code>

<code>ERROR 1045 (28000): Access denied </code><code>for</code> <code>user</code> <code>'root'</code><code>@</code><code>'localhost'</code> <code>(using </code><code>password</code><code>: YES)</code>

編輯mysql配置檔案/etc/my.cnf,在[mysqld]這個條目下加入 skip-grant-tables 儲存退出後重新開機mysql

# vi /etc/my.cnf

<code>[root@test mysql]# service mysqld restart</code>

# mysql

<code>Welcome </code><code>to</code> <code>the MySQL monitor.  Commands </code><code>end</code> <code>with</code> <code>; </code><code>or</code> <code>\g.</code>

<code>Your MySQL </code><code>connection</code> <code>id </code><code>is</code> <code>4</code>

<code>Server version: 5.7.18 MySQL Community Server (GPL)</code>

<code>Copyright (c) 2000, 2017, Oracle </code><code>and</code><code>/</code><code>or</code> <code>its affiliates. </code><code>All</code> <code>rights reserved.</code>

<code>Oracle </code><code>is</code> <code>a registered trademark </code><code>of</code> <code>Oracle Corporation </code><code>and</code><code>/</code><code>or</code> <code>its</code>

<code>affiliates. Other names may be trademarks </code><code>of</code> <code>their respective</code>

<code>owners.</code>

<code>Type </code><code>'help;'</code> <code>or</code> <code>'\h'</code> <code>for</code> <code>help. Type </code><code>'\c'</code> <code>to</code> <code>clear the </code><code>current</code> <code>input statement.</code>

<code>mysql&gt; show databases;</code>

<code>+</code><code>--------------------+</code>

<code>| </code><code>Database</code>           <code>|</code>

<code>| information_schema |</code>

<code>| mysql              |</code>

<code>| performance_schema |</code>

<code>| sys                |</code>

<code>4 </code><code>rows</code> <code>in</code> <code>set</code> <code>(0.00 sec)</code>

設定密碼,然後删除/etc/my.cnf中的 skip-grant-tables

再次重新開機mysql

<code>mysql&gt; use mysql;</code>

<code>Database</code> <code>changed</code>

--.給root使用者設定新密碼: 

5.7版本之前:

<code>mysql&gt; </code><code>update</code> <code>user</code> <code>set</code> <code>password</code><code>=</code><code>password</code><code>(</code><code>"新密碼"</code><code>) </code><code>where</code> <code>user</code><code>=</code><code>"root"</code><code>;</code>

<code>Query OK, 1 </code><code>rows</code> <code>affected (0.01 sec)</code>

<code>Rows</code> <code>matched: 1 Changed: 1 Warnings: 0</code>

在5.7版本之後,mysql資料庫下已經沒有password這個字段了,password字段改成了authentication_string。

<code>update</code> <code>mysql.</code><code>user</code> <code>set</code> <code>authentication_string=</code><code>PASSWORD</code><code>(</code><code>'oracle'</code><code>) </code><code>where</code> <code>User</code><code>=</code><code>'root'</code><code>;</code>

<code>mysql&gt; flush </code><code>privileges</code><code>;</code>

<code>Query OK, 0 </code><code>rows</code> <code>affected (0.00 sec)</code>

---退出mysql,重新開機然後重新登入

# mysql -uroot -poracle

<code>mysql: [Warning] Using a </code><code>password</code> <code>on</code> <code>the command line interface can be insecure.</code>

<code>Your MySQL </code><code>connection</code> <code>id </code><code>is</code> <code>5</code>

<code>Server version: 5.7.18</code>

<code>mysql&gt;</code>

<code></code>

本文轉自 hsbxxl 51CTO部落格,原文連結:http://blog.51cto.com/hsbxxl/1947164,如需轉載請自行聯系原作者