1. 程式人生 > >linux下rpm安裝mysql5.6

linux下rpm安裝mysql5.6

之前使用yum安裝mysql確實很方便,但是預設安裝的myql5.0版本的,不支援utf8mb4(utf8mb4擴充套件到一個字元最多能有4節,所以能支援更多的字符集,比如支援emoji表情)編碼格式,所以要升級資料庫,yum庫升級貌似有點費勁,果斷解除安裝了,使用rpm直接安裝,解除安裝的時候遇到一些問題,要解除安裝乾淨請參考之前寫的一篇文章:http://blog.csdn.net/tjcyjd/article/details/52189182,言歸正傳,如何安裝呢,其實很簡單:

1.先到管網地址下載兩個包。

進入下載頁面有,選擇如下:

選擇linux-generic後,又有很多產品選擇,我們只下載以下2個就可以了,一個服務包,一個客戶端包

Linux - Generic (glibc 2.5) (x86, 64-bit), RPM Package 

MySQL Server

(MySQL-server-5.6.32-1.linux_glibc2.5.i386.rpm)

下載地址

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-server-5.6.32-1.linux_glibc2.5.x86_64.rpm

Linux - Generic (glibc 2.5) (x86, 64-bit), RPM Package 

Client Utilities

(MySQL-client-5.6.32-1.linux_glibc2.5.x86_64.rpm)

下載地址

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-client-5.6.32-1.linux_glibc2.5.x86_64.rpm
  1. 檢查系統是否已經安裝了mysql mariadb
rpm -qa | grep -i mysql
rpm -qa | grep -i mariadb

由於CentOS預設的資料庫是mariadb,這個會和mysql衝突,所以一般都會先解除安裝一下rpm -e mariadb-libs-1:5.5.44-2.el7.centos.x86_64 --nodeps 另外如果顯示出來安裝了的mysql,用以下命令解除安裝,如有多個用空格隔開多個rpm,如

rpm -e --nodeps  MySQL-devel-5.6.29-1.rhel5.x86_64 MySQL-client-5.6.29-1.rhel5.x86_64 MySQL-server-5.6.29-1.rhel5.x86_64

如果在安裝過程中有提示找不到Perl或者net-tools等,按提示yum安裝即可

yun install Perl
yum install net-tools
yum install -y perl-Module-Install.noarch 

進入下載檔案所以目錄進行安裝

  1. > rpm -ivh MySQL-server-5.6.32-1.linux_glibc2.5.i386.rpm

  2. > rpm -ivh MySQL-client-5.6.32-1.linux_glibc2.5.x86_64.rpm

安裝完之後啟動mysql

> service mysql start

登入mysql

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

新裝mysql連線時會報錯:ERROR 1045 (28000): Access denied for user ’root’@’localhost’ (using password: NO) 

解決方案如下:

方法一: 

  1. # /etc/init.d/mysql stop

  2. # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

  3. # mysql -u root mysql

  4. mysql> UPDATE user SET Password=PASSWORD('xxxxxx') where USER='root';

  5. mysql> FLUSH PRIVILEGES;

  6. mysql> quit

  7. # /etc/init.d/mysql restart

  8. # mysql -uroot -p

Enter password: <輸入新設的密碼newpassword> 

mysql> 

方法二:  直接使用/etc/mysql/debian.cnf檔案中[client]節提供的使用者名稱和密碼:  # mysql -udebian-sys-maint -p  Enter password: <輸入[client]節的密碼>  mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;  mysql> FLUSH PRIVILEGES;  mysql> quit  # mysql -uroot -p  Enter password: <輸入新設的密碼newpassword> 

mysql> 

方法三:  # mysql -uroot -p  Enter password: <輸入/etc/mysql/debian.cnf檔案中[client]節提供的密碼>  至此,困惑多時的問題解決了!

如果use mysql出現以下錯誤:

1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

則提示修改密碼:

set password=password("xxxxxx");
flush privileges;
use mysql

ok