1. 使用putty 配置遠程服務器連接,登錄服務器。
由於沒有指定下載包 使用 yum install mysql-server 提示 未指定包,如:
2. 因為甲骨文的收購了Mysql並且對Mysql進行了閉源開發,所以以前的yum下載命令無法獲取到下載包,我們使用rpm方式來安裝,這時我們就需要從官網去下載Mysql的社區版安裝包。
地址:https://dev.mysql.com/downloads/repo/yum/
使用命令:
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum install mysql-community-server
3. 安裝完畢,啟動Mysql, 並查看狀態。
service mysqld start
service mysqld status
看到綠色的active(running)就代表服務啟動成功了。
4. 配置Mysql
登錄MySQL ,系統初始時使用的默認密碼,如果沒記住,則會登錄失敗
mysql -uroot -p
提示錯誤,
使用 命令查看初始密碼:grep password
cat /var/log/mysqld.log | grep password
登陸成功。
密碼不好記,下來需要修改root密碼
注意:重點啊,如果你沒有設置認證方式,默認的密碼加密方式是:caching_sha2_password,而現在很多客戶端工具還不支持這種加密認證方式,連接測試的時候就會報錯:client does not support authentication protocol requested by server; consider upgrading MySQL client,這里的錯誤信息就是不支持身份認證方式,沒關系,去my.ini里面在[mysqld]下面加上這句話即可:
default_authentication_plugin=mysql_native_password
set global validate_password.policy=0; set global validate_password.length=1; ALTER USER "root"@"localhost" IDENTIFIED BY "****"; // 新密碼為*****
使用 nano /etc/my.cnf” 即通過nano 修改 my.cnf文件
通過光標移動定位需要修改的參數行,例如想要設置max_connections參數,則下面的參數行max_connections=100
然后把max_connections的參數設置成你想要修改的數值,例如110
鍵入Ctrl+O寫入writeout並保存修改
然后,鍵入Ctrl+X退出Nano
查看下編碼:
mysql> show variables like '%character%';
最后重啟MYSQL以使修改生效。鍵入命令:
systemctl restart mysqld
這樣,max_connections參數就成功從100修改成110,成功配置了MYSQL的配置文件my.cnf
5. 打開遠程訪問和授權
對於允許遠程訪問,有兩種角色,一種是我們的root用戶,還有一種是非root用戶,從安全的角度(我也不知道什么角度,聽別人說的,暫且相信着吧),遠程訪問最后不要用root用戶
用root用戶訪問: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '密碼' WITH GRANT OPTION;
這里允許root用戶遠程的時候,如果出現如下的錯誤,就先去把root用的host改成%,再運行上面那句話,對於mysql用戶管理這一塊不熟悉的朋友們,請看我另一篇博客--mysql 用戶及權限管理
非root用戶,這里就要先去創建一個用戶
切換數據庫 mysql>use mysql; 創建用戶(user1:用戶名;%:任意ip,也可以指定,root默認就是localhost;123456:登錄密碼) mysql>CREATE USER 'user1'@'%' IDENTIFIED BY '123456'; 授權,默認創建的用戶權限是usage,就是無權限,只能登錄而已,(all:所有權限,這里有select,update等等權限,可以去搜一下;后面的*.*:指定數據庫.指定表,這里是所有;to后面就是你剛才創建的用戶) mysql>grant all on *.* to 'user1'@'%'; 注意:用以上命令授權的用戶不能給其它用戶授權,如果想讓該用戶可以授權,用以下命令: GRANT all ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
6.開啟防火牆
Mysql默認不允許遠程登錄,所以需要開啟遠程訪問權限,可以先查看user表
select user,authentication_string,host from user;
默認都是localhost
update user set host = '%' where user = 'root';
此時root的host是所有都可以了
然后刷新修改,
FLUSH PRIVILEGES;
注意:這步一定要做,否則無法生效。
然后開啟防火牆。
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
完畢,快樂的使用遠程客戶端連接使用吧!!