Linux之搭建远程数据库MySQL[Ubuntu:全过程]

1.mariadb在Linux中首次进入mysql

    (因为此时还没有创建任何用户,mysql的root并不等效于linux中的root用户)

sudo apt-get install mysql-server

sudo mysql # 或者 mysql -uroot -p

    # 创建新用户
    use mysql
     create user arg-userName@'%';#任何主机访问均可数据库
     set password for arg-userName@'%' = password('arg-userPassword');
    GRANT ALL PRIVILEGES ON arg-databaseName.* TO arg-userName;
    FLUSH PRIVILEGES;# 更新mysql数据库系统的用户权限列表

    #使用新用户进入数据库
     mysql -u userName -p
    
    #关于不熟悉或者不明白数据库管理方面的常用命令见我的另一篇博文:http://www.cnblogs.com/johnnyzen/p/7922780.html 

2.开启远程连接【此处的配置,根据数据库版本和型号的不同,均不一致,但原理一致,就是:关闭数据库的连接权限(而不限于本机)】

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address = 127.0.0.1
sudo service mysql restart

3.开启指定用户远程登录权限

mysql> select host,user from mysql.user;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'userName'@'%' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;

4.检查是否开启3306防火墙端口,如果没有,则开启

  • 本机开启对应端口
sudo apt-get install ufw # 安装UFW
sudo ufw allow 80/tcp
sudp ufw allow 8080/tcp
sudo ufw allow 20/tcp
sudo ufw allow 22/tcp
sudo ufw allow 3306/tcp
sudo ufw enable # 启用ufw防火墙
  • [云主机(VPS/ECS)] 登录云主机,确保端口安全策略开启了数据库对应的端口

参考博文

4.重启mysql服务

sudo service mysql restart

5.远程连接

navicat连接 或 命令行连接

[命令行]
mysql -u<userName> -h<hostName> -p<password>

参考文献

原文地址:https://www.cnblogs.com/johnnyzen/p/7928593.html