MySQL从入门到入土 -- 1.环境安装

0 阅读3分钟

0 引子

  • 本工具需要有一定的Linux基础,,建议熟悉完Linux常规命令和基本工具的使用之后再来学习

  • 环境:

    1. OS: Ubuntu 24.04
    2. MySQL version: mysql 8.0.45

1 MySql的安装

  • 本小节全部在root用户下进行

1.1 创建干净的安装环境

  • 首先我们需要查看一下当前系统中有没有已经安装过mysql或者是mariadb(mariadbmysql的另一个分支版本)
# 查看有没有相关进程

# ps ajx | grep "mariadb"
10679 10775 10774 10286 pts/0    10774 R+       0   0:00 grep --color=auto mariadb
# ps ajx | grep "mysql"
10679 10803 10802 10286 pts/0    10802 S+       0   0:00 grep --color=auto mysql
  • 现在是没有相关进程的,意味着我们的系统中还没有mysql或者是mariadb
  • 此时我们直接进入1.2进行安装就行了
  • 如果有相关进程,就需要使用systemctl stop [name]来关闭相关进程
  • 然后根据自己的包管理器卸载一下已经有的数据库

1.2 下载与安装

  • 因为是Ubuntu,所以安装方面其实还是非常简单的
sudo apt install mysql-server -y
  • 一般情况下,这条命令会把客户端和服务端全部都安装上,记得检查一下安装过程中输出的信息

1.3 验证安装结果

  • 首先查一下目录/etc/mysql存不存在
root@iZwz9b2bj2gor4d8h3rlx0Z:/etc/mysql# ll
total 40
drwxr-xr-x   4 root root  4096 Apr 20 18:41 ./
drwxr-xr-x 123 root root 12288 Apr 20 18:42 ../
drwxr-xr-x   2 root root  4096 Apr 20 18:41 conf.d/
-rw-------   1 root root   317 Apr 20 18:41 debian.cnf
-rwxr-xr-x   1 root root   120 Jan 22 20:41 debian-start*
lrwxrwxrwx   1 root root    24 Oct 20  2020 my.cnf -> /etc/alternatives/my.cnf
-rw-r--r--   1 root root   839 Oct 20  2020 my.cnf.fallback
-rw-r--r--   1 root root   682 Nov 19 04:53 mysql.cnf
drwxr-xr-x   2 root root  4096 Apr 20 18:41 mysql.conf.d/
  • 然后查看一下服务端和客户端的相关服务
root@iZwz9b2bj2gor4d8h3rlx0Z:/etc/mysql# which mysqld
/usr/sbin/mysqld
root@iZwz9b2bj2gor4d8h3rlx0Z:/etc/mysql# which mysql
/usr/bin/mysql
  • 至此,mysql的安装事项就全部解决了,还是很简单的
  • 顺带一提,之前我试过在CentOS 7安装MySQL 5.7,还是非常折磨的,配置啥的很麻烦,MySQL 8.0就会方便很多,几乎不需要做很多配置
  • 那么,至此,如果你安装的是MySQL 8.0的话,就已经可以正常使用了,输入:
mysql

Pasted image 20260421232207.png

  • 如果显示了一个MySQL的界面,那就一切正常
  • 此时可以输入\q退出MySQL(也可以看看\h,里面有一些基本操作命令)
  • 如果你是老版本,那就需要配置很多东西,新增用户和密码什么的才能进入了
  • 因为新版本MySQL引入了一个叫做auth_socket的组件,在MySQL没有配置任何用户的情况下,他会试图通过这个组件登录MySQL,而这个组件知道你是root用户之后就会无条件放行,除非你配置了root用户的密码

1.4 root用户配置密码

  • 首先先用mysql暂时登录进去,然后输入这串命令
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
  • 本质上是创建root用户,127.0.0.1密码的映射,这样你就配置成功了密码
  • 别忘记刷新权限
FLUSH PRIVILEGES;
  • 还记得退出操作吗,自己试试!
  • 如果此时你试着用mysql登录,你会发现直接失败了,因为现在你修改了登陆方式,现在得用密码登录
mysql -h [IP] -P [端口号] -u [用户名] -p
  • -p表示要输入密码,MySQL的默认端口号是3306,这个默认就配置好了的

Pasted image 20260421233315.png