推荐配置
mysql> create user root identified by 'xinyue';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on *.* to 'root'@'%' identified by 'xinyue';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
connection
mysql -u root -h hostname -p
create database meiduo_mall default charset=utf8;
create user meiduo identified by 'meiduo';
grant all on meiduo_mall.* to 'meiduo'@'%';
flush privileges;
一台本地电脑,一台云服务器,都是linux系统。
步骤
在服务器端开启远程访问
首先进入mysql数据库,然后输入下面两个命令:
grant all privileges on . to ‘root’@’%’ identified by ‘password’;
flush privileges;
第一个*是数据库,可以改成允许访问的数据库名称
第二个* 是数据库的表名称,*代表允许访问任意的表
root代表远程登录使用的用户名,可以自定义
%代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了
password代表远程登录时使用的密码,可以自定义
flush privileges;这是让权限立即生效
修改my.cnf配置文件
这个是mysql的配置文件,如果找不到在哪里的话,可以输入find /* -name my.cnf 找到
which mysqld
/usr/sbin/mysqld --verbose --help | grep -A 1 'Default options'
# 会依次从几个路径读取配置文件
# sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
通过vim编辑该文件,找到bind-address = 127.0.0.1这一句,然后在前面加个#号注释掉,保存退出
重启服务
service mysql restart
在本地远程连接
在终端输入:
mysql -h 服务器ip地址 -P 3306 -u root -p
然后输入密码即可。
root是第1点设置的用户名,密码也是第1点设置的密码
查看用户权限
mysql> show grants for root@localhost;
mysql> select * from mysql.user where user=‘test’ and host=‘127.0.0.1’ \G;
select user, host from mysql.user;
给用户增加权限
grant all privileges on . to ‘test’@‘127.0.0.1’ identified by ‘passwd’;
flush privileges;