最近項目新申請了雲服務器,老大讓我搭了下環境,在安裝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,不需要設置,存儲系統元數據的字符集。