首先,在ubuntu上安装MySQL,打开终端,并执行以下命令:
1 sudo apt-get update 2 sudo apt-get install mysql-server
首先,使用 MySQL 的 root 用户登录到 MySQL 服务器:
sudo mysql -u root -p
系统会提示你输入 root 用户的密码。默认是空,直接回车即可;
shaun
的用户,并设置密码为
shaun001
1 CREATE USER 'shaun'@'%' IDENTIFIED BY 'shaun001'; 2 GRANT ALL PRIVILEGES ON *.* TO 'shaun'@'%'; 3 FLUSH PRIVILEGES;
这里要注意:第一行代码中,'%' 标识允许任何ip访问,如果要限制ip,可以改为
CREATE USER 'shaun'@'192.168.1.100' IDENTIFIED BY 'shaun001'; //只允许192.168.1.100 的ip 以shaun访问 或者
CREATE USER 'shaun'@'localhost' IDENTIFIED BY 'shaun001'; //只允许localhost 的域名以shaun访问
第二行代码 *.* 意为所有数据库,可以改为 GRANT ALL PRIVILEGES ON database_name.* TO 'shaun'@'%';
如果已经存在一个 'shaun'@'loC++alhost' ,可以通过以下代码更改权限:
1 RENAME USER 'shaun'@'localhost' TO 'shaun'@'%'; 2 GRANT ALL PRIVILEGES ON *.* TO 'shaun'@'%'; 3 FLUSH PRIVILEGES; 4 quit;
第三行代码含义是刷新权限表,从而实现立刻生效; 第四行代码 退出mysql
默认情况下,MySQL 只监听本地连接。要允许远程访问,需要修改 MySQL 配置文件:
打开 MySQL 配置文件(通常位于 /etc/mysql/mysql.conf.d/mysqld.cnf
或 /etc/my.cnf
):
1 sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address
这一行,将其值从 127.0.0.1
改为 0.0.0.0
(允许所有 IP 访问)或特定的 IP 地址:Ctrl + O
(字母“O”,不是数字零)。这将提示您确认文件名,按下 Enter
键保存。Ctrl + X
进行退出。1 sudo systemctl restart mysql
如果服务器启用了防火墙(如 ufw
),需要允许 MySQL 的默认端口(3306)的访问:
1 sudo ufw allow 3306/tcp
1 mysql -h 192.168.1.100 -u shaun -p
输入shaun 对应的密码,确认即可,根据结果提示,看是否成功
sudo mysql -u root -p0
这将移除用户 shaun
对所有数据库的所有权限。