Ubuntu24.04安装 Mysql 并修改root密码 + 配置

参考文章:Ubuntu安装MySQL

一、下载并安装 MySQL

1、安装 mysql 服务端

yammie@my-pc >/opt
$ sudo apt-get install mysql-server

2、安装 mysql 客户端

yammie@my-pc >/opt
$ sudo apt-get install mysql-client

3、安装程序编译时连接的库

yammie@my-pc >/opt
$ sudo apt-get install libmysqlclient-dev

4、安装过程中会提示设置密码。如果没有,可以在后面进行设置。

5、检查是否安装成功, 通过上述命令检查之后,如果看到有 mysql 的 socket 处于 listen 状态则表示安装成功。

yammie@my-pc >/opt
$ sudo apt-get install net-tools # 安装 net-tools,含有 netstat 命令

yammie@my-pc >/opt
$ sudo netstat -tap | grep mysql

6、-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到 mysql。

yammie@my-pc >/opt
$ mysql -uroot -p

如果前面没有设置用户的密码,执行 mysql -uroot -p 会报错:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

一般出现这种情况多数是安装新版本 mysql,root 密码是随机的,也不是空密码,所以要通过查看随机密码进入,再进行修改原来的密码。

二、安装新版本 Mysql 需要修改密码

既然我们无法通过 root 用户进入 MySQL,那我们就只能通过其他用户登录 MySQL。

1、使用其它用户登录 MySQL

在我们下载安装 MySQL 的过程中,系统会自动给我们创建一个用户,我们借助如下指令便可以查看该用户信息:

yammie@my-pc >/opt
$ sudo cat /etc/mysql/debian.cnf

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host= localhost
user= debian-sys-maint
password = rJRveggZzpqh8cP8
socket= /var/run/mysqld/mysqld.sock

[mysql_upgrade]
host= localhost
user= debian-sys-maint
password = rJRveggZzpqh8cP8
socket= /var/run/mysqld/mysqld.sock

记住红字部分的用户名和密码

2、然后使用该用户名和密码进入 MySQL

yammie@my-pc >/opt
$ mysql -u debian-sys-maint -p
Enter password:rJRveggZzpqh8cP8

3、查看 user 表

mysql> use mysql;
mysql> select user,plugin from user;

4、修改 root 用户密码格式

mysql> update user set plugin='mysql_native_password' where user='root'; # 修改 root 用户密码格式

mysql> select user,plugin from user; # 再次查询所有用户

执行完这一步,不要忘记刷新权限(可以理解为高并发,可能还没处理完数据让他缓存,就执行下一步操作可能会出错)

5、增加 root 用户密码

mysql> alter user 'root'@'localhost' identified by '123456me';

再次刷新权限

mysql> flush privileges;

6、退出登录

exit

7、重启 mysql 服务

mysql> service mysql restart

8、root 登录

yammie@my-pc >/opt
$ mysql -u root -p
Enter password: xxxxxx

9、输入详细信息登录

# 服务启动后端口查询
sudo netstat -anp | grep mysql

# 连接数据库
简单登录:mysql -uroot -p123456me
完整登录:mysql -h 127.0.0.1 -P 3306 -uroot -pxxxxxx
# -h 为远程 IP,-P 为端口号,-u 为用户名,-p 为密码

三、MySQL 的配置文件

说明:通过这种方式安装好之后开机自启动都已经配置好,和命令行上的环境变量,无需手动配置。安装好之后会创建如下目录:

数据库目录

/var/lib/mysql/

配置文件合集

/usr/share/mysql(命令及配置文件合集,命令一般是:启动数据库,关闭数据库之类的)

配置文件

/etc/init.d/mysql.conf(启动脚本文件,也是 mysql 的配置文件)

相关命令

/usr/bin(mysqladmin mysqldump 等命令) 和/usr/sbin

启动文件

/lib/systemd/system/mysql.service

四、服务管理

# 启动
sudo service mysql start

# 重启
sudo service mysql restart

# 停止
sudo service mysql stop

# 服务状态
sudo service mysql status

五、卸载 Mysql 服务器

#首先使用以下命令删除 MySQL 服务器:
sudo apt-get remove mysql-server

#然后,删除随 MySQL 服务器自动安装的任何其他软件:
sudo apt-get autoremove

#卸载其他组件:
sudo apt-get remove <package-name>

#查看从 MySQL APT 存储库安装的软件包列表:
dpkg -l | grep mysql | grep ii

六、安装 Mysql Workbench

1. 去官网下载 Mysql Workbench 的 deb 包,选对版本
Workbench Download[这里是图片002]https://dev.mysql.com/downloads/workbench/
2. 使用 dpkg 命令安装本地 deb 包

sudo dpkg -i '/home/dora/下载/mysqlworkbench.deb'

3.缺少依赖关系,使用以下命令行

sudo apt-get -f install
### 如何重置 Ubuntu 24.04MySQL Root 用户密码 #### 修改配置文件以跳过权限表 对于无法使用 `root` 用户登录的情况,可以尝试通过编辑 MySQL 配置文件来解决问题。具体来说,在 `/etc/mysql/mysql.conf.d/mysqld.cnf` 文件中找到 `[mysqld]` 段添加 `skip-grant-tables` 参数[^3]。 ```bash sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf ``` 在该文件的 `[mysqld]` 下面增加一行: ```ini [mysqld] ... skip-grant-tables ``` 保存更改后重启 MySQL 服务使新设置生效: ```bash sudo service mysql restart ``` 此时无需提供任何密码即可连接到数据库服务器作为管理员角色运行 SQL 命令更新 root 密码: ```sql mysql -u root ``` #### 更新 Root 用户认证字符串 一旦成功进入了 MySQL 控制台,则可以通过执行以下语句来改变 root 的验证方式以及设定新的访问密钥][^[^23]: ```sql FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password'; FLUSH PRIVILEGES; EXIT; ``` 请注意替换 `'new-password'` 为你想要使用的实际密码值。 #### 移除 skip-grant-tables 设置恢复安全性 完成上述操作之后应当立即移除之前所做的临时改动以恢复正常的安全机制。再次打开配置文件删除早先加进去的那一行内容,且记得要重新加载一次 MySQL 来应用这些变化。 ```bash sudo sed -i '/skip-grant-tables/d' /etc/mysql/mysql.conf.d/mysqld.cnf sudo systemctl reload mysql ``` 现在应该能够正常地利用刚刚创建的新凭证来进行身份验证了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值