文章目录
一、基本说明
- 系统环境:
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权限外,你可能还想授予用户其他权限,如ALTER
、DROP
、INDEX
、CREATE 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:~#