1 安裝 GCC
yum install gcc
yum install tcl
2 安裝wget
yum install wget
3 下載mysql源安裝包 shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
4 安裝mysql源 shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm
5 檢查mysql源是否安裝成功
shell> yum repolist enabled | grep "mysql.*-community.*"
6 安裝MySQL
shell> yum install mysql-community-server
7 啓動MySQL服務
shell> systemctl start mysqld
8 從新啓動
shell> systemctl restart mysqld
9 查看MySQL的啓動狀態
shell> systemctl status mysqld
10 開機啓動
shell> systemctl enable mysqld shell> systemctl daemon-reload
11 修改root默認密碼
mysql安裝完成以後,在/var/log/mysqld.log文件中給root生成了一個默認密碼。經過下面的方式找到root默認密碼,而後登陸mysql進行修改:
shell> grep 'temporary password' /var/log/mysqld.log
shell> mysql -uroot -p
Enter password: 輸入默認密碼 mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
或者
mysql> set password for 'root'@'localhost'=password('MyNewPass4!');
12 添加遠程登陸用戶
默認只容許root賬戶在本地登陸,若是要在其它機器上鍊接mysql,必須修改root容許遠程鏈接,或者添加一個容許遠程鏈接的賬戶,爲了安全起見,我添加一個新的賬戶:
mysql> grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
mysql> flush privileges;
grant all privileges on *.* to 建立的用戶名 @"%" identified by "密碼";
flush privileges; * 刷新剛纔的內容*
格式:grant 權限 on
數據庫教程名.表名 to 用戶@登陸主機 identified by "用戶密碼";
@ 後面是訪問
MySQL的客戶端ip地址(或是 主機名) % 表明任意的客戶端,若是填寫 localhost 爲本地訪問(那此用戶就不能遠程訪問該
mysql數據庫了)。
同時也能夠爲現有的用戶設置是否具備遠程訪問權限。以下:
use mysql;
update db set host = '%' where user = '用戶名'; (若是寫成 host=localhost 那此用戶就不具備遠程訪問權限)
flush privileges;
注:flush privileges 命令本質上的做用是將當前user和privilige表中的用戶信息/權限設置從mysql庫(MySQL數據庫的內置庫)中提取到內存裏。MySQL用戶數據和權限有修改後,但願在"不重啓MySQL服務"的狀況下直接生效,那麼就須要執行這個命令。一般是在修改ROOT賬號的設置後,怕重啓後沒法再登陸進來,那麼直接flush以後就能夠看權限設置是否生效。而沒必要冒太大風險。
提示:2003 -Can't connect to MySQL server on '10.0.0.18'(10038)
驗證 telnet 192.168.237.102 3306 在端口 3306: 鏈接失敗
再到虛擬機上確認 netstat -anp
說明端口不通
14 開通3306端口
下面記錄如何使用firewalld開放Linux端口:
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
命令含義:
–zone #做用域
–add-port=3306/tcp #添加端口,格式爲:端口/通信協議
–permanent #永久生效,沒有此參數重啓後失效
重啓防火牆?
[root@localhost ~]# firewall-cmd --reload
常見問題處理:
中途一些操做致使mysql.sock文件丟失
mysql.sock是一個臨時文件,在mysql啓動時會自動生成
能夠簡單地經過重啓
服務器從新建立獲得它,前提是你的mysql服務能夠正常從新啓動
錯誤代碼是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server 是沒法給遠程鏈接的用戶權限問題
從新受權:
mysql> grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
mysql> flush privileges;