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:~# 
相关推荐
Database_Cool_11 分钟前
阿里云 RDS MySQL vs 腾讯云 CDB 国内云关系型数据库深度对比
数据库·mysql·阿里云
xiaohaiAIgeo11 分钟前
【2026年】基于三维建模的实验室智慧管理平台:暖通能源照明的数字孪生方案
大数据·数据库·人工智能·科普知识
深盾科技_Virbox1 小时前
软件授权工具静默安装实践
java·运维·数据库·安全·软件需求
延凡科技2 小时前
延凡科技综合监控预警处置平台—— 一体化视频AI安防闭环系统设计与功能实现[特殊字符]️
数据库·人工智能·科技·安全·能源
老马聊技术2 小时前
Rocky Linux 9.0 安装 MySQL8.x详细教程
linux·数据库
醇氧2 小时前
主流 Agent 开发框架全解析(2026 最新)
大数据·数据库·人工智能·开源
吴声子夜歌2 小时前
Redis 6.x——整合SpringBoot
数据库·spring boot·redis
ATA88882 小时前
AI辅助生成SQL实战从连接配置到执行计划优化的完整技术流程
数据库·人工智能·智能问数
咏方舟【长江支流】2 小时前
【开源】跨语言·跨平台·跨数据库(4) ——用宝框架 ORM 数据源适配器
数据库·开源·ai编程·orm·咏方舟-长江支流·用宝框架·用宝框架orm
JZC_xiaozhong2 小时前
OA调价审批后,采购调价单如何自动同步到ERP?解决漏录错价难题
大数据·linux·服务器·前端·数据库·数据孤岛解决方案·数据集成与应用集成