腾讯云mysql服务器设置一些坑

今天重新收拾了下服务器的msyql,还是好多坑,真的真的是泪流满面,昨天搞到10点,12点准备睡觉了还挣扎想看看为啥远程连不上mysql,太想哭了;

终于知道的记录和整理的重要性,现在立帖为证,好好哭一场~

1网上有很多教程,跟着他梭哈一下,但是注意,一般情况下 ubuntu18.4 安装的是msyql 5.7版本 ,我这边不全,这里主要介绍我踩的坑

sudo apt-mysget install ql-server

sudo apt-get install mysql-client

坑一:

- 查看账户情况

mysql -u root -p;

use mysql;

select user,host from mysql.user;

用户root的访问权限为%,表示root用户既支持本地访问又支持远程访问。

主要欧,可能有两个root,如果一个是local ,一个是%,一样不能远程连接,有种办法是不要两个名字一样,并且把 local也改为%,

不要有两个root,不然很容易接入的时候混淆,还有user的host改为‘%’,不然进不去,经常报错 root@localhost无法登陆 ,你会很奇怪是不是;

如果不小心设置了两个root,一个host是%,一个是local,但是每次ssh进mysql的root用的是local版的,密码也是这个,local只支持本地登录,host为%(可远程登录的)的密码却不是这个,所以navicat从权限和密码角度都进不去

UPDATE user SET Host='%' WHERE User='root' AND Host='localhost'  ;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

update user set user = 'root2' where user = 'root' AND  host = 'local';x)

flush privileges;

privileges 权限 如果不想授予所有权限可以在on 后面写 [ select 数据库名.表名 ],代表授予这个数据库下这个表的查询权限(这个是我查到的,没有试过)

 

关闭 mysql :exit

坑二:端口权限

A,注释掉绑定ip127.0.0.0 端口号改为3306

vim  /etc/mysql/mysql.conf.d/mysqld.cnf

port            = 3306               #bind-address           = 127.0.0.1  #这里默认监听本地localhost 

B, 防火墙开放 3306 端口

-- 查看防火墙的状态  命令: sudo ufw status

--如果没有安装可以使用命令安装命令:       sudo sudo apt-get install ufw

--开启防火墙,命令:       sudo ufw enable          //开启防火墙

--  sudo ufw allow 22        //开放22端口

--  sudo ufw allow 3306       //开放22端口

--  sudo ufw allow 22        //开放22端口

-- 开启完成,需要重启防火墙生效命令:       sudo ufw reload           //重启ufw防火墙

-- 重启成功再查看防火墙的状态命令:       sudo ufw status           //查看防火墙的状态

参考:https://blog.csdn.net/qq_36938617/article/details/95234909?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonec

C,腾讯云自己的安全策略设置

 

在诊断工具-端口实例中:

把 3306 端口出入站都加上

 

D,mysql本身root权限打开

a,前面也有说

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

flush privileges;

b,vim  /etc/mysql/mysql.conf.d/mysqld.cnf     ,注释掉绑定ip127.0.0.0 端口号改为3306

port    = 3306  #bind-address           = 127.0.0.1  (#这里默认监听本地localhost )

 

E,完成了这些步骤后,应该是可以ping通了

   ping ip地址

   telnet ip地址   端口

telnet 有可能 用powershell 无法识别命令,这个是因为telnet服务没有打开(控制面板-程序-添加程序-启用window功能-telnet 服务端 勾选上 )

 

 

坑三:如果mysql登录不上,咋办:安装后root没有密码的进不去,两种办法:

1,用系统的内置密码,(注意root ,屏幕会内置密码的)

在这个文件里面有着MySQL默认的用户名和用户密码, 最最重要的是:用户名默认的不是root,而是debian-sys-maint                sudo cat /etc/mysql/debian.cnf

2,先将mysql设置密码跳过,直接无密码root进入,然后设置密码,然后再将无密码设置注释掉(忘记密码做法也是这样)。

vim  /etc/mysql/mysql.conf.d/mysqld.cnf

在 【mysqld】下面 加上:

skip -grant -tables

然后重启mysql 

sudo service mysql restart

重新设置好msyql 密码后记得回来注释掉

 

 

无法连接的一些链接尝试:

1,https://blog.csdn.net/sinat_36053757/article/details/82934881

2,https://blog.csdn.net/qq_36820328/article/details/79654278?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&dist_request_id=1331979.11225.16186440079098059&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

 

 

别以为结束了哦,进入mysql,可能设置字符类型 utf-8,这种的还要你半条命~摊手

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值