一、云服务器MYSQL部署
1.官网下载地址
2.环境变量配置:win+X->系统->高级系统设置->环境变量->新建->变量名:MYSQL_HOME,变量值:C:\Program Files\mysql-8.0.15-winx64,其次选择PATH变量进行编辑,在末尾添加%MYSQL_HOME%\bin;(包括分号)
3.验证环境变量配置:cmd窗口输入mysql -V,若出现对应版本号则表明配置成功。
4.安装初始化MYSQL服务:先进入mysql安装路径(C:\Program Files\mysql-8.0.15-winx64),新建my.ini文件并打开复制以下内容:
[client]
port=3306
default-character-set=utf8
[mysqld]
# 新版mysql加密方式会导致mysql无法被eclipse等软件访问,故将其改为旧版加密方式
default_authentication_plugin=mysql_native_password
# 设置为自己MYSQL的安装目录
basedir=C:\Program Files\mysql-8.0.15-winx64
# 设置为MYSQL的数据目录
datadir=C:\Program Files\mysql-8.0.15-winx64\data
port=3306
character_set_server=utf8
#开启查询缓存
explicit_defaults_for_timestamp=true
skip-grant-tables
shared-memory
5.打开cmd窗口输入mysqld --initialize --console,初始化mysql服务并将初始密码显示出来以便登录(将最后那串密码复制下来!),如:
2019-02-27T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
6.打开mysql服务cmd窗口输入net start mysql
7.登录修改密码:打开cmd窗口输入mysql -u root -p回车,再输入刚获取的初始密码即可完成登录,接下来继续修改密码,输入ALTER user 'root'@'localhost' IDENTIFIED BY 'password';(password即为自己新设定的密码,分号别忘了输入),执行后再输入FLUSH PRIVILEGES;刷新一下权限,mysql部署就OK啦!
二、远程连接配置
1.连接权限修改(否则远程连接会报错‘MySQL ERROR 1130 (HY000): Host 'XXXX' is not allowed to connect to this MySQL server’),如:
mysql>use mysql;
//mysql服务器出于安全考虑,默认只允许本地登录数据库服务器,因此修改localhost为%,表示所有地址都可以访问服务器
mysql>update user set host = '%' where user = 'root';
mysql>flush privileges;
//查看是否有刷新
mysql>select host, user from user;
mysql>quit
2.操作权限修改(赋予增删改查所有权限)
mysql>grant all privileges on *.* to 'root'@'%' with grant option;
mysql>flush privileges;
2.连接加密方式修改(否则远程连接会报错 ‘Client does not support authentication protocol requested by server; consider upgrading MySQL client’),如:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'panda'
Query OK, 0 rows affected (0.06 sec)
//刷新权限
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.02 sec)
3.云服务器控制台的安全组->配置规则->入方向->添加安全组规则->添加MYSQL3306端口,授权对象设为0.0.0.0/0保存即可。
4.重启系统,打开MYSQL服务(默认应该已经自动打开),进行远程连接。
题外话:若远程使用Eclipse连接还需给url加上useSSL=false参数,MYSQL8以后版本对安全性要求更高啦