阿里雲 centos7 安裝mysql數據庫


環境:阿里雲ECS服務器,系統為centos7.2

 

刪除原來的數據庫:

centos7中默認安裝了數據庫MariaDB,如果直接安裝MySQL的話,會直接覆蓋掉這個數據庫,當然也可以手動刪除一下:

 

[root@localhost ~]# rpm -qa|grep mariadb  // 查詢出來已安裝的mariadb
[root@localhost ~]# rpm -e --nodeps 文件名  // 卸載mariadb,文件名為上述命令查詢出來的文件

 

然后現在開始將當前目錄切換到root也就是:    cd ~

 

 

下載與安裝MySQL:

這里采用Yum管理好了各種rpm包的依賴,能夠從指定的服務器自動下載RPM包並且安裝,所以在安裝完成后必須要卸掉,否則會自動更新。

1.安裝MySQL官方的yum repository

[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2.下載rpm包

[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

3.安裝MySQL服務

[root@localhost ~]# yum -y install mysql-community-server

最后會出現個complete!

4.啟動MySQL服務

[root@localhost ~]# systemctl start  mysqld.service

看到類似下面的界面,或者以Starting MySqL server..   started MysqlServer..結尾的就成功啟動了

 

還有幾個關於MySQL常用的命令:

重啟:systemctl restart mysqld.service

停止:systemctl stop mysqld.service

查看狀態:systemctl status mysqld.service

 

還可以配置MySQL的開機啟動:

[root@woitumi-128 ~]# systemctl enable mysqld

[root@woitumi-128 ~]# systemctl daemon-reload   剛剛配置的服務需要讓systemctl能識別,就必須刷新配置

 

 

 

 關於登錄MySQL:

登錄命令:

[root@localhost ~]# mysql -u root -p

意思就是用root用戶登錄,然后准備輸入密碼。

第一次啟動MySQL后,就會有臨時密碼,這個默認的初始密碼在/var/log/mysqld.log文件中,我們可以用這個命令來查看:

grep "password" /var/log/mysqld.log

可是不知道是我輸錯密碼還是不能復制粘貼,一直顯示錯誤:

 

(好吧后面看看這個代碼應該是  mysql -u root -p才對,可能這樣輸入命令就不會有錯吧……)

 

然后我們還可以先跳過密碼驗證登錄進MySQL:

停止服務:

systemctl stop mysqld.service

修改mMySQL的配置文件:

vi /etc/my.cnf

在最后加上配置:

skip-grant-tables

然后再啟動服務:

systemctl start mysqld.service

 

然后這時就可以跳過密碼來登錄mysql:

mysql -u root

 

然后是修改下密碼:(就看別人的例子是這樣的)

mysql> use mysql;
Database changed
mysql> update mysql.user set authentication_string=password('4008') where user='root' ;
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

 

然后exit退出mysql,重新在剛剛那個配置文件中去掉skip-grant-tables,然后重啟MySQL。

 

然后就可以用新密碼登錄了:

 

sql報錯

但這個時候,我試了一下一個簡單的sql語句:

 

what???我不是剛剛才設完密碼嗎??

然后百度了下。說這個情況還要加個這樣的改密碼的語句:

SET PASSWORD = PASSWORD('密碼');

但這個命令又出現了這樣的問題:

額百度后知道原來是密碼等級太簡單,如果你堅持要這樣的密碼,要改變密碼等級:

登錄數據庫后,輸入

mysql> set global validate_password_policy=0;  //改變密碼等級

mysql> set global validate_password_length=4;   //改變密碼最小長度

然后再輸入剛剛的命令:

SET PASSWORD = PASSWORD('密碼');

然后再用 show databases;就沒有報錯了

 

 

配置遠程登錄:

MySQL默認root用戶只能本地登錄,如果要遠程連接,要簡單設置下,這里直接用root來遠程登錄不添加其他角色。

使用命令:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '4008' WITH GRANT OPTION;

.*.的意思是所有庫的所有表;To后面跟的是用戶名;@后面跟的是ip地址,%代表所有ip地址,identified by后面的是密碼。

然后再:

mysql> flush privileges;

 

注意:

需要注意mysql的配置文件中的bindaddress 的參數和skip-networking 配置

bindaddress : 設定哪些ip地址被配置,使得mysql服務器只回應哪些ip地址的請求),最好注釋掉該參數或設置成為127.0.0.1以外的值

skip-networking : 如果設置了該參數項,將導致所有TCP/IP端口沒有被監聽,也就是說出了本機,其他客戶端都無法用網絡連接到本mysql服務器,所以應該注釋掉該參數

 

 

添加3306端口:

命令:

firewall-cmd --zone=public --add-port=3306/tcp --permanent;

 

結果說沒有運行防火牆:

 

那就先開防火牆咯:

systemctl status firewalld  查看防火牆狀態

systemctl start firewalld  打開防火牆

 

 

 

然后再輸入那個開放3306端口的命令就行了

firewall-cmd --zone=public --add-port=3306/tcp --permanent;

firewall-cmd --reload  重啟防火牆

 

 

 

 

最后的收尾:

1.我們剛開始說要寫在yum的repository,用這個命令就行:

yum -y remove mysql57-community-release-el7-10.noarch

 

2.MySQL設一下utf8:

打開/etc/my.cnf也就是數據庫的配置文件,然后在底部復制粘貼:

[mysqld] 

character_set_server=utf8
init_connect='SET NAMES utf8'

采用navicat新建數據庫時,需要將編碼方式設置為,字符集:utf8 -- UTF-8 Unicode ,排序規則:utf8_general_ci

3.阿里雲的服務器中的安全組加入mysql連接的規則。這個很重要不然遠程無法連接上。

4.配置文件的說明:

  /etc/my.cnf 這是mysql的主配置文件
  /var/lib/mysql mysql數據庫的數據庫文件存放位置
  /var/log mysql數據庫的日志輸出存放位置

 

 

轉載:https://www.cnblogs.com/wangshen31/p/9556804.html


免責聲明!

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



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