安装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
安全组入规则.png

打开cmd测试发现连接已成功
win10测试.png
win10测试.png