MySQL操作注意事项

文章目录

一、基本说明

  • 系统环境:ubuntu 20.4

二、安装

在Ubuntu上安装MySQL的步骤如下:

1、更新apt-get

首先,你需要更新apt-get以获取最新的软件包列表。在终端中输入以下命令:

bash 复制代码
sudo apt update  
sudo apt upgrade

2、安装MySQL

接下来,使用apt-get命令安装MySQL服务器。输入以下命令:

bash 复制代码
sudo apt install mysql-server

在安装过程中,系统会提示你设置root用户的密码。请确保选择一个安全的密码。

3、确认安装

安装完成后,你可以使用以下命令来确认MySQL服务是否已经启动:

bash 复制代码
sudo service mysql status

或者

bash 复制代码
sudo systemctl status mysql

如果服务正在运行,你应该能看到"active (running)"这样的状态信息。

bash 复制代码
root@VM-8-14-ubuntu:~# sudo systemctl status mysql
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2024-05-09 11:44:43 CST; 12s ago
    Process: 344596 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
   Main PID: 344604 (mysqld)
     Status: "Server is operational"
      Tasks: 38 (limit: 3942)
     Memory: 370.4M
        CPU: 918ms
     CGroup: /system.slice/mysql.service
             └─344604 /usr/sbin/mysqld

May 09 11:44:42 VM-8-14-ubuntu systemd[1]: Starting MySQL Community Server...
May 09 11:44:43 VM-8-14-ubuntu systemd[1]: Started MySQL Community Server.

三、连接MySQL进入模拟器

你可以使用以下命令来连接MySQL服务器(以root用户身份):

执行linux命令:

bash 复制代码
mysql -u root -p

系统会提示你输入之前设置的root用户密码。输入密码后(默认是没有密码,直接ENTER不需要输入),你将进入MySQL的命令行界面。

有可能会出错

bash 复制代码
root@VM-8-14-ubuntu:~# mysql -u root -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)

可以用这条命令试试

bash 复制代码
mysql -u root -p --socket=/var/run/mysqld/mysqld.sock 

成功进入MySQL模拟器后:

bash 复制代码
root@VM-8-14-ubuntu:~# mysql -u root -p --socket=/var/run/mysqld/mysqld.sock 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.36-0ubuntu0.22.04.1 (Ubuntu)

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

四、配置MySQL(可选)

根据你的需求,你可能还需要进行一些额外的配置,例如更改MySQL的配置文件(通常位于/etc/mysql/my.cnf或/etc/mysql/mysql.conf.d/mysqld.cnf),或者创建新的数据库和用户。

五、设置root用户密码

修改root密码为01234567890

执行mysql命令:ALTER USER 'root'@'localhost' IDENTIFIED BY '01234567890';

安装MySQL服务器之后就需要先重新设置root密码。

bash 复制代码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '01234567890';
Query OK, 0 rows affected (0.02 sec)

mysql> 

然后执行FLUSH PRIVILEGES;刷新生效

bash 复制代码
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

mysql> 

六、查看所有用户属性

执行mysql命令:SELECT User, Host FROM mysql.user;
Host列表示该用户的操作范围,%表示所有连接都可以操作以及外网公网,localhost 表示只有在本机主机上才能连接服务器操作

bash 复制代码
mysql> SELECT User, Host FROM mysql.user;
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| user        	   | %         |
| debian-sys-maint | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
| root             | localhost |
+------------------+-----------+
6 rows in set (0.00 sec)

mysql> 

七、创建新用户

创建一个用户名为user,登录密码为1234567890%可以在任意网络连接的用户

执行mysql命令:CREATE USER 'user'@'%' IDENTIFIED BY '1234567890';

bash 复制代码
mysql> CREATE USER 'user'@'%' IDENTIFIED BY '1234567890';
Query OK, 0 rows affected (0.01 sec)

mysql> 

用户授权

创建的新用户是没有任何权限的,要对用户授予权限,这个用户连接后才能建表,查表,修改之类的。

授予用户user所有权限

执行命令:GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;

bash 复制代码
mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.01 sec)

mysql> 
授予用户user建表权限

执行mysql命令:GRANT CREATE ON *.* TO 'user'@'%';

bash 复制代码
mysql> GRANT CREATE ON *.* TO 'user'@'%';
Query OK, 0 rows affected (0.01 sec)

mysql> 

除了CREATE DATABASE权限外,你可能还想授予用户其他权限,如ALTERDROPINDEXCREATE TEMPORARY TABLES等。你可以使用逗号分隔的列表来一次性授予多个权限。例如:

sql 复制代码
GRANT CREATE, ALTER, DROP ON *.* TO 'user'@'%';

八、查看所有数据库

执行mysql命令:SELECT DATABASE();

bash 复制代码
mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| NULL       |
+------------+
1 row in set (0.00 sec)

mysql> 

九、配置可以外网访问

进入/etc/mysql/mysql.conf.d/,打开文件mysqld.cnf

把以下两行注释掉,就可以

bash 复制代码
# bind-address		= 127.0.0.1
# mysqlx-bind-address	= 127.0.0.1

然后重启一下MySQL服务器

执行linux命令:sudo service mysql restart

bash 复制代码
root@VM-8-14-ubuntu:~# sudo service mysql restart
root@VM-8-14-ubuntu:~# 
相关推荐
云和数据.ChenGuang5 小时前
Django 应用安装脚本 – 如何将应用添加到 INSTALLED_APPS 设置中 原创
数据库·django·sqlite
woshilys6 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver
Hacker_LaoYi6 小时前
SQL注入的那些面试题总结
数据库·sql
建投数据7 小时前
建投数据与腾讯云数据库TDSQL完成产品兼容性互认证
数据库·腾讯云
Hacker_LaoYi8 小时前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀8 小时前
Redis梳理
数据库·redis·缓存
独行soc8 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天8 小时前
linux centos 7 安装 mongodb7
数据库·mongodb
工业甲酰苯胺8 小时前
分布式系统架构:服务容错
数据库·架构
独行soc9 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘