在mysql中,Database和user只能由root账户创建,然后再把这个database的权限给到这个新的用户中。
开发环境:
-------------------------+
| VERSION() |
+-------------------------+
| 8.0.21-0ubuntu0.20.04.4 |
+-------------------------+
实现目标:
- 新建用户admin
- 在admin下创建名为test的database 用于学习
- 用navicat在windows主机访问虚拟机中的admin用户
新建用户admin:
进入root用户中,以下用户名用username,数据库名用databasename表示:
sudo mysql -u root -p
# input commnnds in mysql
mysql> CREATE USER username IDENTIFIED BY 'password';
**创建名为test的database **
# create database
mysql> CREATE DATABASE `databasename` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
# grand the database created to USER username
# % shows all ip can connect to the user
mysql> grant all privileges on databasename.* to 'username'@'%';
# flush
mysql> FLUSH PRIVILEGES;
修改配置文件中的bind-address
首先到ubuntu的配置文件目录:
# 切换到配置文件目录
cd /etc/mysql/mysql.conf.d
# 编辑配置文件,注意,要用root账户的权限才能编辑
sudo vim mysqld.cnf
# 在文件中注释掉bind-address
#bind-address = 127.0.0.1
然后我会重启mysql
sudo service mysql restart
windows访问虚拟机的数据库
https://www.cnblogs.com/dump/p/9238543.html
大功告成!可以在windows下的navicat中访问虚拟机中的mysql了。