Ubuntu安装mysql-server

背景

云服务厂商提供的mysql太特么贵了呀,太特么贵了呀,我只是本地开发点东西,但是由于用的是windows,但是本地不想安装docker,所以打算用wsl安装ubuntu,在上面装点mysql用下。此文章仅是做为一个笔记,用来记录安装过程,这样的教程一搜一大把。

安装过程

设置root密码

1
sudo passwd root

输入当前帐号密码,然后即可设置root账号密码

安装mysql

  1. 切换成root用户:sudo -i -u root,输入root账号密码即可

  2. 查找合适的mysql-server版本:apt search mysql-server,找到心仪的版本

  3. 安装mysql:apt install mysql-server-5.7 -y

  4. 等待安装完成,检查mysql进程状态:systemctl status mysql,如果是以下状态则说明正在运行

1
2
3
4
5
6
7
8
9
10
11
12
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2025-02-01 20:16:44 CST; 13min ago
Process: 1637 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid (code=exited, status=0/SUCCESS)
Process: 1628 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 1639 (mysqld)
Tasks: 28 (limit: 4915)
CGroup: /system.slice/mysql.service
└─1639 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid

Feb 01 20:16:44 DESKTOP-QOUOOSL systemd[1]: Starting MySQL Community Server...
Feb 01 20:16:44 DESKTOP-QOUOOSL systemd[1]: Started MySQL Community Server.
  1. 如果没有在运行,则使用:systemctl start mysql 来启动

配置mysql

ubuntu默认安装最新的mysql,但是初始的用户名和密码是自动生成的,按下面步骤修改mysql的root用户密码为123456

  1. 查看mysql配置文件,获取初始账号和密码:cat /etc/mysql/debian.cnf
1
2
3
4
5
6
7
8
9
10
11
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = aptUzLQ2FDSiySWg
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = aptUzLQ2FDSiySWg
socket = /var/run/mysqld/mysqld.sock
  1. 使用client里面的默认账密登录:mysql -udebian-sys-maint -paptUzLQ2FDSiySWg,登陆成功后显示如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
root@DESKTOP-QOUOOSL:/# mysql -udebian-sys-maint -paptUzLQ2FDSiySWg
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.7.42-0ubuntu0.18.04.1 (Ubuntu)

Copyright (c) 2000, 2023, 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>
  1. 修改root账号的密码:update mysql.user set authentication_string=password('123456') where user='root' and host='localhost';

  2. 修改认证插件:update mysql.user set plugin="mysql_native_password";

  3. 刷新权限: flush privileges;

  4. 退出登录:ctrl + d

  5. 使用root登录:mysql -uroot -p123456

  6. 修改默认字符集:set character_set_server=utf8;

连接mysql

  1. 获取本机ip:ifconfig,下面的 192.168.173.151 即为本机ip:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
root@DESKTOP-QOUOOSL:/# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1280
inet 192.168.173.151 netmask 255.255.240.0 broadcast 192.168.175.255
inet6 fe80::215:5dff:fe8d:da99 prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:8d:da:99 txqueuelen 1000 (Ethernet)
RX packets 10153 bytes 21073449 (21.0 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6692 bytes 493272 (493.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 58 bytes 6162 (6.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 58 bytes 6162 (6.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

root@DESKTOP-QOUOOSL:/#
  1. 在windows主机上使用navicat或者其它db-client工具即可连接
    1
    2
    3
    4
    host: 192.168.173.151
    port: 3306
    user: root
    password: 123456
  2. 搞定,收工