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:~# 
相关推荐
岁岁种桃花儿2 小时前
MySQL从入门到精通系列:InnoDB记录存储结构
数据库·mysql
jiunian_cn3 小时前
【Redis】hash数据类型相关指令
数据库·redis·哈希算法
冉冰学姐3 小时前
SSM在线影评网站平台82ap4(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm框架·在线影评平台·影片分类
Exquisite.4 小时前
企业高性能web服务器(4)
运维·服务器·前端·网络·mysql
知识分享小能手5 小时前
SQL Server 2019入门学习教程,从入门到精通,SQL Server 2019数据库的操作(2)
数据库·学习·sqlserver
踩坑小念6 小时前
秒杀场景下如何处理redis扣除状态不一致问题
数据库·redis·分布式·缓存·秒杀
萧曵 丶6 小时前
MySQL 语句书写顺序与执行顺序对比速记表
数据库·mysql
Wiktok7 小时前
MySQL的常用数据类型
数据库·mysql
曹牧7 小时前
Oracle 表闪回(Flashback Table)
数据库·oracle
J_liaty7 小时前
Redis 超详细入门教程:从零基础到实战精通
数据库·redis·缓存