阿里雲Centos 7上面安裝mysql教程


1 軟件的基本安裝過程

1 卸載已有的mysql

1.查看系統是否安裝了mysql軟件

rpm -qa|grep -i mysql

2.將已經安裝過的軟件卸載掉。注意:這樣的卸載是不徹底,不過這里夠用了。

yum remove '軟件名'

2 准備mysql的repo

總結代碼:

wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpmrpm -ivh mysql57-community-release-el7-7.noarch.rpm

==============補充start================

解釋:wget默認會以最后一個符合 / 的后面的字符來命令

例如:wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm下載完成的名字就是mysql57-community-release-el7-7.noarch.rpm

可以自己改變下載后的文件名:命名為

wget -O mysql.rpm http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm

==============補充end=================

CentOS 7yum源中默認是沒有mysql的。所以,為了解決這個問題我們首先下載安裝mysqlrepo源。

wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm

rpm -ivh mysql57-community-release-el7-7.noarch.rpm

安裝之后會獲得/etc/yum.repos.d/mysql-community.repo/etc/yum.repos.d/mysql-community-source.repo兩個源,可以去相應的路徑下查看一下。

3 安裝mysql

使用代碼總結:

yum install mysql-serveryum install mysql-develyum install mysql
rpm -qa | grep -i mysql

 1.安裝mysql-server

yum install mysql-server

2 安裝mysql-devel

yum install mysql-devel

3.安裝mysql

yum install mysql

安裝完成之后重新檢查一下安裝了的mysql軟件。

rpm -qa|grep -i mysql

一般來說,只要安裝mysql-server跟mysql-client 。

2 服務開關操作

service mysqld status     查看mysql當前的狀態service mysqld stop       停止mysqlservice mysqld restart    重啟mysqlservice mysqld start      啟動mysql

3 將MySQL加入開機啟動

systemctl enable mysqld

4 啟動mysql服務進程

systemctl start mysqld

或者使用下面的代碼:都是啟動mysql服務,效果一樣。

# service mysqld start      啟動mysql

5 無法登錄問題解決

登錄root帳號需要密碼,不過我們沒有。

下面是這個問題的詳細解決過程

1 修改配置文件,跳過用戶驗證

1.在/etc/my.cnf文件中添加skip-grant-tables。這里注意一下:我的skip-grant-tables放到了文件最后

skip-grant-tables:的作用就是跳過了mysql的用戶驗證

然后直接輸入mysql,不需要帶任何登錄參數直接回車就可以登陸上數據庫;

2.重啟mysqlservice mysqld restart

重啟之后我們直接輸入mysql即可進入mysql數據庫,因為我們已經跳過了mysql數據庫的用戶驗證。

3.使用mysql數據庫

使用命令:use mysql;

4.show tables查看所有表

 會發現有個user表,這里存放的就是用戶名,密碼,權限等等賬戶信息

mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| engine_cost               |
| event                     |
| func                      |
| general_log               |
| gtid_executed             |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| server_cost               |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
31 rows in set (0.00 sec)

5.查看賬戶信息

 執行下面的命令,可以查看用戶的賬戶信息。

select user,authentication_string from user;

從這里我們可以看到mysql數據庫中的密碼是加密的,不可逆的。一旦忘記了就找不回來了的。

6.修改root用戶的密碼

我們可以執行下面的命令修改root用戶的密碼:

update mysql.user set authentication_string=password('your password') where user='root';

7.修改密碼之后,刪除所有權限

flush privileges;

8.退出數據庫

exit

9.恢復/etc/my.cnf文件

恢復/etc/my.cnf,將skip-grant-tables刪除或者注釋掉。 

 

10.重啟mysqlservice mysqld restart

service mysqld restart

到此為止我們就解決了mysql安裝之后登錄不知道密碼的問題。現在一切都正常了。

11.驗證一下是否成功解決了登錄問題

rpm -qa|grep -i mysql

可以看到已經完美的解決了。一路下來還真不容易啊。

解決登錄問題中的代碼整理:

vim /etc/my.cnf         //修改配置
skip-grant-tables        加入到my.cnf 文件的最后
service mysqld restart           //修改配置后重啟mysql服務
mysql                         //跳過用戶驗證后,直接就能登錄


mysql> use mysql;           //切換數據庫

mysql> show tables;           //查看所有表

mysql> select user,authentication_string from user;   //查看權限信息

mysql> update mysql.user set authentication_string=password('your password') where user='root';  //修改密碼

mysql> flush privileges;     //刷新讓修改生效

mysql> exit         //退出mysql 

 
[root@iz2ze6adlpez0gy7j13vrmz ~]# vim /etc/my.cnf   //還原my.cnf文件配置,去掉最后的skip-grant-tables

[root@iz2ze6adlpez0gy7j13vrmz ~]# cat /etc/my.cnf    //查看是否還原成功

[root@iz2ze6adlpez0gy7j13vrmz ~]# service mysqld restart    //重啟mysql服務

[root@iz2ze6adlpez0gy7j13vrmz ~]# mysql -uroot -proot    //使用修改的密碼登錄

6.重置密碼問題

下面順便講解一下這個問題:

安裝完mysql 之后,登陸以后,不管運行任何命令,總是提示這個錯誤:

You must reset your password using ALTER USER statement before executing this statement

處理步驟為:依次執行下面三條代碼。

SET PASSWORD = PASSWORD('your new password');

ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; flush privileges;

這里要注意的是your new password 必須包含數字,字母包含大小寫,標點符號。不然好像是不能通過的

完成以上三步退出再登,使用新設置的密碼就行了,以上除了 your new password 需要修改成新密碼外,其他原樣輸入即可

7.解決遠程客戶端無法連接MySQL數據庫

現在我們想要在本地,遠程訪問我們阿里雲服務器上的mysql數據庫。我使用的是navicat 軟件,但是發現一直連接不上。

 

出現這個問題的原因是因為:我的實例是專有網絡類型。要想能夠遠程訪問,需要對外開放MySQL的端口3306.

 下面演示如何對外開放3306端口。

配置完成之后,我再次去嘗試遠程連接MySQL數據庫。

 不幸的是,這次還是失敗了:這次報的錯誤如下:

錯誤代碼是1130: -Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server

首先我想的應該是數據的權限不足的問題;

通過查閱資料發現了這篇文章:解決遠程連接mysql錯誤1130的方法https://www.aliyun.com/jiaocheng/136440.html

解決方法如下:

具體說就是:在本機登入mysql后,更改 “mysql” 數據庫里的 “user” 表里的 “host” 項,從”localhost”改稱'%'。。

mysql -u root -p

mysql>use mysql;

mysql>select host,user from user;

mysql>update user set host = '%' where user ='root';

mysql>flush privileges;

mysql>select host,user from user;

第一句是以權限用戶root登錄

第二句:選擇mysql庫

第三句:查看mysql庫中的user表的host值(即可進行連接訪問的主機/IP名稱)

第四句:修改host值(以通配符%的內容增加主機/IP地址),當然也可以直接增加IP地址

第五句:刷新MySQL的系統權限相關表

第六句:再重新查看user表時,有修改。。

重起mysql服務即可完成。service mysqld restart

實際開發中:我們更多的還是推薦創建用戶,然后使用創建的用戶連接數據庫。 root用戶的權限太大了

通過上面的處理我們再一次來嘗試遠程連接mysql數據庫

到此MySQL數據庫在阿里雲esc centos 7 上的安裝就算是大功告成了。

 

8.補充知識點

1 一些常用的命令

1 檢查MySQL是否已經安裝

yum list installed | grep mysql

2 已經安裝使用yum方式卸載

yum -y remove mysql-libs.x86_64 

3 下載 MySQL Yum Repository

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

4 添加 MySQL Yum Repository 到你的系統 repository 列表中

yum localinstall mysql-community-release-el7-5.noarch.rpm 

5 驗證下是否成功添加到了你的系統repository 列表中

yum repolist enabled | grep "mysql.*-community.*" 

6 查看MySQL版本

yum repolist all | grep mysql

7.查看當前的啟動的 MySQL 版本

yum repolist enabled | grep mysql

8 通過yum來安裝MySQL

yum install mysql-community-server

9.查看MySQL 的安裝目錄

whereis mysql

10.啟動MySQL服務

systemctl start mysqld    或者   service mysqld start

11.關閉MySQL服務

systemctl stop mysqld  或者  service mysqld stop

12.查看MySQL服務狀態

systemctl status mysqld   或者  service mysqld status

13.重啟MySQL服務

service mysqld restart

14.使用命令 pidof mysqld 命令來查看mysql 的啟動狀態如圖所示:如果顯示PID說明程序啟動,不顯示PID即為程序沒有啟動。

pidof mysqld

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM