1. 安装mysql-server和启用mysql-service

1.1 安装mysql-server

//在安装之前查看下系统是否已经安装了mysql;
ls /usr/share | grep mysql
//安装mysql-server;
sudo apt-get install mysql-server
//再次查看,发现多了一个mysql;
ls /usr/share | grep mysql

image.png

1.2 查看mysql.service状态

sudo service mysql status 或者 systemctl status mysql.service

image.png

1.3 启动mysql.service

sudo service mysql start 或者 sudo systemctl start mysql.service

1.4 重启mysql.service

sudo service mysql restart 或者 sudo systemctl restart mysql.service

1.5 停止mysql.service

sudo service mysql stop 或者 sudo systemctl stop mysql.service

1.6 设置mysql.service 开机自启动

sudo service mysql enable 或者 sudo systemctl enable mysql.service

1.7 停止mysql.service开机自启动

sudo service mysql disable 或者 sudo systemctl disable mysql.service

1.8 mysql 的配置文件

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

image.png

2. 登录数据库mysql

2.1 在创建mysql的时候,系统默认创建了一个管理员账号密码;

sudo cat /etc/mysql/debian.cnf

image.png

2.2 使用管理员账号登录

//执行后输入密码
mysql -u debian-sys-maint -p   

image.png

2.3 使用root用户登录

//输入密码root
mysql -u root -p

2.4 修改root 用户登录密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Aa123456';
//或者
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Aa123456');
FLUSH PRIVILEGES;

2.5 展示用户下的databases

show databases;

image.png

3. 创建新用户和库并授权

为什么我们不直接用具有最高权限的root用户呢?因为这样是最危险的,用户可以随意操作数据库; 所以我们需要创建可以一个普通用户并给他赋予少量的权限,保证数据库的安全性。

3.1 创建普通用户

//请注意,创建用户和分配权限应该由具有足够权限的用户来执行,通常是数据库管理员。在生产环境中,出于安全考虑,应该限制可以创建新用户和分配权限的用户数量。此外,确保在执行这些操作时,你了解每个权限的含义,以避免不必要的安全风险。
//1.
//newuser:新用户的用户名
//localhost:指定了用户可以从哪个主机连接到MySQL服务器。如果你想允许用户从任何主机连接,可以使用%代 //替localhost(但是这可能会带来安全风险)
//newpassword: 设置用户密码
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'newpassword';

//2.
//分配权限:创建用户之后,你需要分配适当的权限给这个用户。使用GRANT语句来分配权限。例如,给newuser分配对所有数据库的SELECT、INSERT、UPDATE和DELETE 权限:
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'newuser'@'localhost';
//刷新权限
FLUSH PRIVILEGES;

//3.
//确认用户创建,你可以使用SELECT 语句来确认新用户已经被创建:
SELECT User,Host FROM mysql.user WHERE User='newuser';

//4.
//设置密码策略,为了安全起见,你可以设置密码策略,比如密码长度和复杂性要求。从MySQL5.7开始,你可以使用ALTER USER来设置密码有效期和密码历史:
ALTER USER 'newuser'@'localhost' PASSWORD EXPIRE;
ALTER USER 'newuser'@'localhost' ACCOUNT LOCK;

//5.
//删除用户,入股你需要删除用户,可以使用DROP USER语句:
DROP USER 'newuser'@'localhost';

4. 将主机ip改为万能ip

在MySQL中,将用户的host属性设置为%,可以让该用户从任何IP地址访问数据库服务器。请注意,这种设置可能带来安全风险,因为它允许任何IP地址尝试连接到数据库。以下是如何设置用户可以从任何IP访问的步骤:

4.0 接1.8小节,修改bind_address

4.1 登录到MySQL服务器:

使用具有足够权限的用户(如root用户)登录到MySQL服务器;

mysql -u root -p

4.2 选择MySql数据库,这是存储用户信息的地方;

USE mysql

4.3 查看用户列表

查看当前的用户列表,以确认要修改哪一个用户的host;

Select User, Host FROM user;

4.4 修改用户的host

使用UPDATE语句来修改特定用户的host属性,将其设置为%。例如,如果您想要允许用户名为jenkins_download的用户从任何IP地址连接,使用如下指令:

UPDATE user SET Host = '%' WHERE User = 'jenkins_download';

4.5 刷新权限

修改完成后,需要刷新权限,使更正立即生效;

FLUSH PRIVILEGES;

4.6(补充)创建新用户

如果您需要创建一个新用户设置从任何IP访问的权限,可以使用CREATE USER 语句,并指定host为%:

CREATE USER 'username'@'%' IDENTIFIED BY 'password';

将'username'替换为新用户的用户名,'password'替换为用户的密码。

4.7 授权并刷新

给新用户或修改过host的用户授予所需的数据库权限。

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
FLUSH PRIVILEGES;

5.指定单独地址访问数据库

同以上4章节,将万能地址%改为指定单独地址即可;

6. 本地回环地址和远程ip地址的区别

回环地址:IPv4中,回环地址是127.0.0.1,有时候也被称为localhost;IPv6中,回环地址是::1; 这个地址用于指向主机本身,即当你向这个地址发送数据时,数据不会经过网络接口发送出去,而是直接在本本机内部路由。 ++使用回环地址,不会接触外部网路的情况下,使用自己本地运行服务和应用程序;++ 远程ip:多台计算机通过该地址访问该公共服务机;