連接遠程Ubuntu服務器的MySQL

  • 2020 年 3 月 12 日
  • 筆記

安裝mysql

# 查看有沒有安裝MySQL:  dpkg -l | grep mysql  # 完全卸載mysql參見https://www.cnblogs.com/mjhblog/p/10499772.html  # 進入正題:安裝MySQL:  apt install mysql-server  # 檢測下是否安裝了mysql,看到下面這些說明您安裝完畢  root@huaweiyun:~# root@huaweiyun:~# service mysql restart  root@huaweiyun:~# netstat -tap | grep mysql  tcp6       0      0 [::]:mysql              [::]:*                  LISTEN      1466/mysqld  tcp6       0      0 huaweiyun:mysql         113.45.85.95:56178      ESTABLISHED 1466/mysqld  root@huaweiyun:~# dpkg -l | grep mysql  ii  mysql-client-5.7                      5.7.28-0ubuntu0.18.04.4           amd64        MySQL database client binaries  ii  mysql-client-core-5.7                 5.7.28-0ubuntu0.18.04.4           amd64        MySQL database core client binaries  ii  mysql-common                          5.8+1.0.4                         all          MySQL database common files, e.g. /etc/mysql/my.cnf  ii  mysql-server                          5.7.28-0ubuntu0.18.04.4           all          MySQL database server (metapackage depending on the latest version)  ii  mysql-server-5.7                      5.7.28-0ubuntu0.18.04.4           amd64        MySQL database server binaries and system database setup  ii  mysql-server-core-5.7                 5.7.28-0ubuntu0.18.04.4           amd64        MySQL database server binaries

進入MySQL

mysql -u root -p

-u 表示選擇登陸的用戶名, -p 表示登陸的用戶密碼,現在是mysql數據庫是沒有密碼的,Enter password:處直接回車,就能夠進入mysql數據庫【默認不要密碼】

修改密碼

# 停止MySQL  sudo /etc/init.d/mysql stop  # 創建 mysqld文件  sudo mkdir -p /var/run/mysqld  # 給mysqld文件賦權限  sudo chown mysql:mysql /var/run/mysqld  # 進入安全模式  sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking &  #############  root@huaweiyun:~# 2019-11-23T12:05:41.538762Z mysqld_safe Logging to syslog.  2019-11-23T12:05:41.541303Z mysqld_safe Logging to '/var/log/mysql/error.log'.  2019-11-23T12:05:41.557945Z mysqld_safe A mysqld process already exists                                                      #默認這裡啥都沒有,之後輸入mysql -u -p  # 不出意外,您將進入mysql  # 使用mysql  use mysql;  # 設置新密碼  update user set authentication_string=PASSWORD("新的密碼") where User='root';  # 更新系緩存密碼  update user set plugin="mysql_native_password";  # 刷新操作權限  flush privileges;  # 輸入q退出mysql shell,這時您就可以使用新的密碼登錄您的數據庫了

設置允許遠程登錄

# 輸入新設的密碼進入數據庫  mysql -u root -p  # 使用mysql數據庫  use mysql;  # 修改遠程登陸權限  GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;  # 刷新操作權限  flush privileges;  # 輸入q退出mysql

更改配置文件

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf  # 注釋下方命令  bind-address = 127.0.0.1  # 一定要注釋這句 一定要注釋這句 一定要注釋這句

設置數據庫開機自啟

systemctl enable mysql.service

開發指定端口

# 安裝iptables,很多默認已經安裝了,您可以不用安裝  sudo apt-get install iptables  # 放行指定端口,這裡我放行了3306  iptables -I INPUT -p tcp --dport 3306 -j ACCEPT  # 保存規則  iptables-save  #安裝 iptables-persistent 保證下一次開機規則不會被清除  sudo apt-get install iptables-persistent  # 設置持久化規則  sudo netfilter-persistent save  sudo netfilter-persistent reload

打開安全組,設置入方向規則

這裡我購買的是華為雲的服務器,找到你的服務器的安全組的入方向規則,可以選擇一鍵放通,或者快速放通3306,然後盡可以使用工具連接您的數據庫了

安全組入規則.png

打開cmd測試發現連接已成功

win10測試.png