连接远程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