mysql-新建数据库并设置权限

安装后的设置

macos安装目录:/usr/local/mysql

添加到环境变量中:

sudo nano ~/.bash_profile
export PATH=${PATH}:/usr/local/mysql/bin

刚装好只有一个密码为空的root用户,设置一个密码
mysqladmin -u root password

新建数据库

CREATE DATABASE dbName;
GRANT ALL PRIVILEGES ON dbName.* TO userName@localhost IDENTIFIED BY 'your password here' WITH GRANT OPTION;

设置访问权限

使用root账户登录
切换数据库到mysql
use mysql;
查看用户信息
select host,user,password from user;

取消授权

REVOKE ALL ON *.* FROM 'userName'@'%';   
FLUSH PRIVILEGES;

本地访问

GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY 'admin' WITH GRANT OPTION;   
FLUSH PRIVILEGES;

远程访问

添加一个远程用户。

CREATE USER 'demo'@'%' IDENTIFIED BY '1qaz';

// 指定某个数据库
grant all privileges on dbName.* to 'userName'@'%' identified by 'xxxx';

// 赋予所有权限
GRANT ALL ON *.* TO 'demo'@'%';
flush privileges;

第一个dbName是数据库,可以改成允许访问的数据库名称
第二个* 是数据库的表名称,*代表允许访问任意的表
userName代表远程登录使用的用户名,可以自定义
%代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了
xxxx代表远程登录时使用的密码,可以自定义
flush privileges;这是让权限立即生效

本地访问就是localhost

停止防火墙
/etc/rc.d/init.d/iptables stop

iptables -A INPUT -i eth0 -p tcp --destination-port 3306 -j ACCEPT
查看已经开放的端口:
firewall-cmd --list-ports

修改my.cnf配置文件
find /* -name my.cnf
找到bind-address = 127.0.0.1这一句,然后在前面加个#号注释掉,保存退出
重启服务
service mysql restart

在本地远程连接
mysql -h 服务器ip地址 -P 3306 -u root -p

root是第1点设置的用户名,密码也是第1点设置的密码

使用内网ip登录
mysql -h 172.19.74.175 --port=3306 -u root -p
使用外网ip登录
mysql -h 47.100.193.211 --port=3306 -u root -p