云服务器
因为项目需要一个数据库,所以就在阿里云哪里用云翼计划买了一个小型服务器,虽然小但是也够用

centos 安装mysql
安装mysql
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
设置数据库
启动mysql
systemctl start mysqld.service
查看运行状态
systemctl status mysqld.service
修改密码
先查看原始密码
grep "password" /var/log/mysqld.log
利用原始密码进入数据库
mysql -uroot -p
修改密码规则
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
windows mysql安装
下载 & 解压
配置系统变量
找到bin目录的位置:E:\Config\mysql\mysql-5.7.32-winx64\bin
在环境变量的path中加入路径
安装
生成data文件
以管理员身份运行cmd
进入E:\Config\mysql\mysql-5.7.32-winx64\bin中
执行命令:mysqld --initialize-insecure --user=mysql 在E:\Config\mysql\mysql-5.7.32-winx64\下和bin同级目录生成data目录
安装mysql
继续执行
mysqld -install
启动服务
net start MySQL
登录mysql
mysql -u root -p
初始数据库没密码,直接回车
修改密码
执行
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
创建数据库
使用ubuntu下的命令就可以自动安装mysql数据库
sudo apt-get install mysql-server
apt-get isntall mysql-client
sudo apt-get install libmysqlclient-dev
安装成功后输入下面指令
sudo netstat -tap | grep mysq
如果是下图这样

那么就成功安装了,下面就是通过mysql -u root -p就可以登录mysql数据库

注意,在第一次登录mysql时输入的密码即为你的初始密码,不输就是空
远程连接
在ubuntu下,修改/etc/mysql/mysql.conf.d/mysqld.cnf文件,将
bind-address = 127.9.0.1语句注释掉或者改成bind-address=0.0.0.0

bind-address = 127.9.0.1 意味着只允许本地登录,而把他改成0.0.0.0就代表允许所有的ip登录
但是这还不够,当我们连接远程数据库时,会新建一个root 用户,但是这个root只允许本地登录,不允许远程登陆,我们可以通过
use mysql
select host, user from user;
来验证发现这个root的 host只有一个localhost
这是我们要通过设置来使他允许远程用户登录
在mysql 中输入
# 允许所有root用户登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root用户密码' WITH GRANT OPTION;
# 允许指定ip的root用户登录
GRANT ALL PRIVILEGES ON *.* TO root@'指定的IP地址' IDENTIFIED BY 'root用户密码' WITH GRANT OPTION;
然后重载授权表
FLUSH PRIVILEGES;
这时我们再来验证一下root的权限

这时就应该可以连接上了
但是 ,如果这时还是连接不上,就可能是防火墙的问题,输入ufw disable把防火墙关闭
如果还不行的话,就有可能是阿里云的问题了,因为我用的是一个轻量级的服务器,所以在防火墙中把端口3306打开即可

结束
经过以上步骤mysql的远程连接基本上就可以搞定了
mysql -h IP -u root -p
