新手學Linux(八)----MySql安裝(Centos7)

    最近項目新申請了雲服務器,老大讓我搭了下環境,在安裝MySql的時候遇到的坑稍微多點,所以在這裏做個記錄,我的安裝方式不是通過安裝包來安裝的,而是通過yum來安裝的,這樣倒是可以省去很多的事情,下面來說說具體的安裝過程。
    

一、卸載原有mysql

 

    因爲現在mysql數據庫在Linux上實在是太流行了,所以目前下載的主流Linux系統版本基本上都集成了mysql數據庫在裏面,我們可以通過如下命令來查看我們的操作系統上是否已經安裝了mysql數據庫;

rpm -qa | grep mysql  // 這個命令就會查看該操作系統上是否已經安裝了mysql數據庫

    有的話,我們就通過 rpm -e 命令 或者 rpm -e –nodeps 命令來卸載掉

rpm -e mysql  // 普通刪除模式
rpm -e --nodeps mysql  // 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它文件,則用該命令可以對其進行強力刪除

    在刪除完以後我們可以通過 rpm -qa | grep mysql 命令來查看mysql是否已經卸載成功!!
    

二、通過yum來進行mysql的安裝

 

    一開始是通過這個命令來直接安裝的:

yum install mysql mysql-server mysql-devel

    安裝mysql和mysql-devel都成功,但是安裝mysql-server失敗,如下:

[localhost ~]# yum install mysql-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.sina.cn
 * extras: mirrors.sina.cn
 * updates: mirrors.sina.cn
No package mysql-server available.
Error: Nothing to do

    查資料發現是CentOS 7 版本將MySQL數據庫軟件從默認的程序列表中移除,有兩種方式可以解決,用*MariaDB*來代替,另一種方式就是從官網上下載安裝

 wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm     //下載YUM庫

 yum localinstall -y mysql57-community-release-el7-7.noarch.rpm  //安裝YUM庫

 yum install -y mysql-community-server   //安裝數據庫

 systemctl start mysqld.service  //啓動數據庫服務

 mysql -uroot -p   //默認空密碼

    重置root密碼後重啓mysql服務:

update mysql.user set authentication_string=password("yourpassword") where user="root" and Host="localhost";
flush privileges;
quit;
systemctl restart mysqld;

    在這的時候出了一個問題:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

    請修改my.cnf,添加skip-grant-tables和skip-networking:

vi /etc/my.cnf

[mysqld]

skip-grant-tables

skip-networking

    重啓mysql,然後重複以上修改密碼步驟即可,記得修改完後,去掉my.cnf添加的兩行。如果還有其他的一些問題,具體的可以參考這篇博客:http://www.cnblogs.com/ivictor/p/5142809.html

    

三、添加遠程登錄用戶

 

    配完以上步驟之後,也就是在本地使使,要是想遠程連接的話還需要做具體的配置。

use mysql;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密碼' WITH GRANT OPTION;

注:'%'代表任意地址,也可以指定IP

    檢查用戶表,刷新內存權限

select host, user from user;

FLUSH PRIVILEGES;

    現在的話,數據庫就可以使用了,後續的話,可以設置防火牆,或者編碼格式等等。

關閉防火牆

centos 7:
systemctl stop firewalld.service #停止
systemctl disable firewalld.service #禁用
之前的版本:
service iptables stop #停止
chkconfig iptables off #禁用

    查看mysql的狀態:

* 查看當前mysql運行狀態

mysql>status

參數說明:

haracter_set_client:客戶端請求數據的字符集。

character_set_connection:從客戶端接收到數據,然後傳輸的字符集。

character_set_database:默認數據庫的字符集,無論默認數據庫如何改變,都是這個字符集;如果沒有默認數據庫,使character_set_server指定的字符集,此參數無需設置。

character_set_filesystem:把操作系統上文件名轉化成此字符集,即把character_set_client轉換character_set_filesystem,默認binary即可。

character_set_results:結果集的字符集。

character_set_server:數據庫服務器的默認字符集。

character_set_system:這個值總是utf8,不需要設置,存儲系統元數據的字符集。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章