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