如果使用的是云服务器,登录云服务器的控制台,然后配置安全组,开通3306端口允许外部访问。
在命令窗口执行:
sudo apt clean
sudo apt update
sudo apt upgrade
sudo apt autoremove

sudo apt-get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev
在服务器上找到/etc/mysql/mysql.conf.d中的mysqld.cnf文件,把bind-address=127.0.0.1改成 bind-address= 0.0.0.0
找到/etc/mysql中的debian.cnf查看里面的登录用户与密码,比如我的是
user = debian-sys-maint
password= eSHSYdfO3fdBvqqG
然后执行命令:
mysql -u debian-sys-maint -peSHSYdfO3fdBvqqG
注意:-p后面直接连接密码。

接着执行:
use mysql;
update mysql.user set authentication_string=password('ms-1234') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password";
update user set host="%" where user="root";
flush privileges;
exit;
注意:ms-1234,按实际情况修改为你的密码。
执行:
sudo /etc/init.d/mysql restart
查看3306端口是否允许外部访问:
netstat -lnp|grep 3306
如果显示的是0.0.0.0开通的端口则说明允许外部访问。
启动 sudo service mysql start
停⽌ c
服务状态 sudo service mysql status
我使⽤的是阿⾥云,阿⾥云有20G的数据盘,挂载后的路径是/mnt。
mkdir /mnt/data/mysql
把默认的MySQL数据库复制到/mnt/data/mysql中,然后设置权限:
sudo cp -R /var/lib/mysql/* /mnt/data/mysql
sudo chown -R mysql:mysql /mnt/data/mysql
sudo service mysql stop
修改/etc/mysql/mysql.conf.d/mysqld.cnf⽂件
datadir = /mnt/data/mysql

执行:
sudo vim /etc/apparmor.d/usr.sbin.mysqld
将
/var/lib/mysql/ r
/var/lib/mysql/** rwk
改为
/mnt/data/mysql/ r
/mnt/data/mysql/** rwk

然后重启MySQL:
sudo /etc/init.d/apparmor restart
sudo /etc/init.d/mysql restart
登录mysql:
mysql -uroot -pms1234
注意:ms1234是密码,使用你先前设置的密码:
执行:
show variables like '%dir%';

【后记】公众号【轻松学编程】,更多干货文章,图书管理推荐系统、电影推荐系统等源码项目。
微信【1257309054】,拉你进群,大家一起交流学习。
公众号

关注我,我们一起成长~~