Mysql服务

Mysql服务

先来

sudo apt update 

然后安装

sudo apt install mysql-server-8.0 

查看是否安装成功

mysql -V

查看服务状态

systemctl status mysql 

然后在MySQL中修改以管理员身份启动

sudo mysql

使用

use mysql

查看user

select host,user from user;

更新一下添加一个用户,host=’%’为任意ip可连接

update user set host='%' where user='root';

改密码为123456

alter user 'root'@'%' identified with mysql_native_password by '123456';

刷新

flush privileges;

检查防火墙状态

sudo ufw status

允许开发端口

sudo ufw allow 3306

/etc/mysql/mysql.conf.d/mysqld.cnf ,将 bind-address 设置为虚拟机的IP地址或者设置为 0.0.0.0 以允许所有地址连接。

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

需要vim基础,i进入编辑,esx退出,:wq保存

记得重启一下mysql

sudo systemctl restart mysql

使用下面这个命令来查看ip

ip addr show

测试能否连通

mysql -u root -h 192.168.183.130 -p
//root:用户名 192.168.183.130:本机ip

后面在登录就是

mysql -u root -p

=========================================

安全设置,最好还是设置为只有特定ip能连接,先查看添加的,在删除之前添加的

select host,user from user;		查看是否有内容

-- 2. 授权本机IP访问(127.0.0.1)
CREATE USER IF NOT EXISTS 'root'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY '987654321QAZqaz';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1';

-- 1. 创建用户(如果用户已存在,会报错,可先执行上面的查询确认)
CREATE USER IF NOT EXISTS 'zxz'@'115.231.6.38' IDENTIFIED WITH mysql_native_password BY '987654321QAZqaz';

-- 2. 授权访问fastapi数据库的所有权限,不然新创建一个账号连接是查不到的。
GRANT ALL PRIVILEGES ON fastapi.* TO 'root'@'115.231.6.38';

-- 3. 刷新权限(使配置立即生效,必须执行)
FLUSH PRIVILEGES;

必须给本地设置连接和权限啊,血的教训。

SHOW DATABASES;	查询所有数据库


这里有新增的ip给已有的用户
-- 1. 创建指定 IP 的 root 用户(如果已存在则跳过,或用 ALTER 修改)
CREATE USER IF NOT EXISTS 'root'@'192.168.1.100' IDENTIFIED WITH mysql_native_password BY '你的root密码';
-- 2. 授予该 IP 的 root 用户所有权限(和本地 root 权限一致)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' WITH GRANT OPTION;
-- 3. 刷新权限(使配置立即生效)
FLUSH PRIVILEGES;

这里在说一下删除
先查看在删除
select host,user from user;

-- 删除root@115.231.6.38的用户授权
DROP USER IF EXISTS 'root'@'115.231.6.38';

-- 刷新权限,使删除操作立即生效
FLUSH PRIVILEGES;