1. 解壓下載的zip包,會發現有以下幾個rpm包:
MySQL-client-advanced-5.6.22-1.el7.x86_64.rpm
MySQL-devel-advanced-5.6.22-1.el7.x86_64.rpm
MySQL-embedded-advanced-5.6.22-1.el7.x86_64.rpm
MySQL-server-advanced-5.6.22-1.el7.x86_64.rpm
MySQL-shared-advanced-5.6.22-1.el7.x86_64.rpm
MySQL-shared-compat-advanced-5.6.22-1.el7.x86_64.rpm
MySQL-test-advanced-5.6.22-1.el7.x86_64.rpm
2. 卸載MariaDB
如果直接點擊rpm包安裝會得到錯誤提示。因為CentOS的默認數據庫已經不再是MySQL了,而是MariaDB,為什么呢?
MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,采用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了MySQL后,有將MySQL閉源的潛在風險,因此社區采用分支的方式來避開這個風險。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能輕松成為MySQL的代替品。
查看當前安裝的mariadb包:
[root@bogon 桌面]# rpm -qa | grep mariadb
將它們統統強制性卸載掉:
[root@bogon 桌面]# rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64
[root@bogon 桌面]# rpm -e --nodeps mariadb-5.5.35-3.el7.x86_64
[root@bogon 桌面]# rpm -e --nodeps mariadb-server-5.5.35-3.el7.x86_64
3. 安裝MYSQL
雙擊下面三個包進行自動安裝:
MySQL-client-advanced-5.6.22-1.el7.x86_64.rpm
MySQL-devel-advanced-5.6.22-1.el7.x86_64.rpm
MySQL-server-advanced-5.6.22-1.el7.x86_64.rpm
提示:其實第二個包devel我也不知道是干什么的,也不知道是不是必須的(上網搜了一下應該不是必須的),沒有測試是否必須就已經點來裝上了,也不想花時間去測試是否必須了,有測試過的朋友麻煩留言告知。
4. 啟動MYSQL
[root@bogon 桌面]#service mysql start
得到錯誤:ERROR!The server quit without updating PID file
我們這里主要是因為:selinux惹的禍,如果是centos系統,默認會開啟selinux。解決方法是關閉它,打開/etc/selinux/config,把SELINUX=enforcing改為SELINUX=disabled后存盤退出重啟機器。
然后再啟動mysql就沒問題了:
[root@bogon 桌面]#service mysql start
查看MySQL運行狀態:
[root@bogon 桌面]# service mysql status
SUCCESS! MySQL running (2377)
5. 默認root用戶登錄MYSQL
[root@bogon 桌面]# mysql -u root -p
Enter password:
ERROR 1045 (28000):Access denied for user 'root'@'localhost' (using password: YES)
發現有有錯誤,然后在網上查了一下說使用下面命令修改root初始化密碼:
[root@bogon 桌面]# /usr/bin/mysqladmin -u root password 'passok'
/usr/bin/mysqladmin: connect to server at'localhost' failed
error: 'Accessdenied for user 'root'@'localhost' (using password: NO)'
發現MYSQL數據庫默認的root用戶還是沒辦法設置密碼進行登錄,需要做一下操作:
重置MySQL中root用戶密碼及驗證
還是不行,然后在網上又找到一個重置MySQL中root用戶密碼及驗證的方法:
(1) 停止MySQL服務
[root@bogon 桌面]# service mysql stop
Shutting down MySQL.. SUCCESS!
(2) 輸入繞過密碼認證命令
killall -TERM mysqld
mysqld_safe --skip-grant-tables &
輸入mysql直接連接
mysql> UPDATE user SET Password=PASSWORD('123qwe') where USER='root';
Query OK, 4 rows affected (0.04 sec)
Rows matched: 4 Changed: 4 Warnings: 0
ALTER USER USER() IDENTIFIED BY '123qwe';
(5) 輸入數據刷新命令
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
(6) 退出
mysql> quit
Bye
(7) 啟動MYSQL
[root@bogon 桌面]# service mysql start
Starting MySQL SUCCESS!
登錄mysql,查看所有數據庫:
[root@bogon 桌面]# mysql -u root -p
mysql> show databases;
ERROR 1820 (HY000):You must SET PASSWORD before executing this statement
還是有錯誤啊,提示要再設置一下密碼:
mysql> SET PASSWORD = PASSWORD('123qwe');
Query OK, 0 rows affected (0.00 sec)
show databases;
use mysql;
select host,user from mysql.user;
create user 'usrabc'@'%' identified by 'usrabc';
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY '12345678' WITH GRANT OPTION;
mysql>update user set host = '%' where user = 'root';
flush privileges;
systemctl stop firewalld.service
