首先在数据库创建好连接的用户
进入mysql服务器终端:
命令窗口终端:
mysql -u用户名 -p密码
sudo mysql -uroot -p
创建用户部分-- 使用mysql 数据库
USE mysql;
-- 为mysql创建用户:root1 密码为:root1
CREATE USER root1 IDENTIFIED BY 'root1';
-- 查看下用户root1的权限
select Host,User from user;
-- 给用户root1在数据库名为root1上赋上所有库权限,@'%'表示从任意ip都可以访问到这个数据库 创建时应该已经赋权了
GRANT ALL ON *.* TO 'root1'@'%';
-- 生效
FLUSH PRIVILEGES;
-- 再次查询 下权限
SELECT User,Host FROM user ;
2.在终端打开防护墙端口
#允许所有传出连接
sudo ufw default allow outgoing
- 开启或禁用指定连接
#允许连接数据库
sudo ufw allow 3306
现在可以通过可视化窗口输入账号密码连接了
------------------------------分割线用于MySQL57--------------------------------
默认情况下,mysql只允许本地登录,
如果要开启远程连接,则需要进行以下操作:
1.需要修改/etc/mysql/mysql.conf.d/mysqld.cnf 文件。
找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可或者用 ‘#’ 注释此行
2.在连接服务器后,操作mysql系统数据库
命令为: mysql -u root -p
use mysql;
**3. 查询用户表命令:select User,authentication_string,Host from user; (这里也可以看出host默认都是localhost访问权限)
4. 创建可以访问的用户名即密码
GRANT ALL PRIVILEGES ON *.* TO '账号'@'%' IDENTIFIED BY '密码';
%代表所有主机,也可以具体到你的主机ip地址
注:用户名处,填写自己的用户名, 密码处,填写自己访问的密码
创建完成后再次查询用户表:
5.刷新权限: flush privileges;
这一步一定要做,不然无法成功! 这句表示从mysql数据库的grant表中重新加载权限数据
因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
执行完这两步,再次查询用户表命令:select User,authentication_string,Host from user 可以看到成功添加了用户
6.重新启动mysql服务
service mysql restart