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
- 檢查系統是否已經安裝了
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
進入下載檔案所以目錄進行安裝
-
> rpm -ivh MySQL-server-5.6.32-1.linux_glibc2.5.i386.rpm
-
> 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)
解決方案如下:
方法一:
-
# /etc/init.d/mysql stop
-
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
-
# mysql -u root mysql
-
mysql> UPDATE user SET Password=PASSWORD('xxxxxx') where USER='root';
-
mysql> FLUSH PRIVILEGES;
-
mysql> quit
-
# /etc/init.d/mysql restart
-
# 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