騰訊雲環境為Centos7.4 mysql版本為5.6
本次安裝使用yum安裝
檢查是否已有mysql:
yum list installed | grep mysql
下載yum源文件:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
解壓:
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安裝:
yum install -y mysql mysql-server
這樣就安裝成功了,初始root的密碼為空
{
啟動mysql: systemctl start mysqld
停止mysql:systemctl stop mysqld
重啟mysql:systemctl restart mysqld
查看mysql啟動沒: netstat -anp|grep mysqld
}
修改密碼:
命令:mysql -uroot -p 來登錄mysql
輸入后系統會提示輸入密碼,因為初始密碼為空,直接回車即可,
初始安裝后自帶兩個數據庫,有一個叫做mysql,里邊有個user表,存放用戶名與密碼
命令: use mysql (進入到mysql中)
命令: UPDATE user set Password = PASSWORD('你的新密碼') WHERE user = 'root' ; (修改密碼)
命令: flush privileges; 刷新一下
到這里 nidemysql就算是安裝好了
(yum源安裝mysql,配置文件一般在/etc/my.cnf 或者 /etc/mysql/my.cnf)
但故事還沒有結束,一般來說,linux下的服務器都需要遠程,所以還應該設置mysql可以遠程才好。
設置遠程:
在my.cnf 中有bind-address = 127.0.0.1 這個參數,將127.0.0.1改為0.0.0.0 如果沒這個參數,加上就好
然后命令: mysql
命令: use mysql
命令:UPDATE user SET Host = '%' WHERE User = 'root' LIMIT 1;
現在到這里,遠程就可以使用root這個用戶來遠程連接了。
故事仍然沒有結束,因為我用的是騰訊雲,還是遠程連接不上,這時要在騰訊雲安全組上邊吧3306這個端口打開,使tcp可以訪問。
到這里就結束了? NO
然后一切美好,遠程可以鏈接了,但是,騰訊雲本地使用root卻連不上了,報錯:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
說是密碼錯了,扯淡,明明遠程都連上了好吧,折騰了半天,原來是我前邊在設置遠程連接使搞出來了一個用戶名為空的賬戶,mysql會先匹配它,
就會報密碼錯誤的提示,這時正確的做法就是:登錄你的navicat(因為可以遠程連接上),在mysql這個庫下的user表中將哪個用戶名為空的用戶干掉,就萬事大吉了。
ps: 當你真的忘記了你的密碼:
1 在配置文件中加上它: skip-grant-tables (跳過密碼驗證)
2 systemctl restart mysql 重啟mysql
3 直接輸入mysql
4 use mysql 進到mysql庫
5 UPDATE user set Password = PASSWORD('你的新密碼') WHERE user = 'root' ; 修改密碼
mysql下創建用戶並授權:
create user 'dog'@'%' identified by '123456';
grant all on *.* to 'dog'@'%';
完結