Ubuntu快捷安装MySQL

更新包列表

bash 复制代码
sudo apt update

安装mysql

bash 复制代码
sudo apt install mysql-server

启动mysql

sql 复制代码
// 启动mysql
sudo service mysql start

// 关闭mysql
sudo service mysql stop

// 重启mysql
sudo service mysql restart

连接mysql

sql 复制代码
// 初始安装无密码,直接连接即可,端口号默认3306
mysql -uroot

设置密码

sql 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

注:设置完密码后,后续如果使用 mysql -uroot -h127.0.0.1 -pkingsoft. -P3306(可使用 mysql -uroot -h localhost -pkingsoft. -P3306 命令代替)命令连接mysql时,可能会报错:

原因分析:

MySQL的 root 用户没有配置为允许从 127.0.0.1 这个地址连接。默认情况下,root 用户通常只能从 localhost 连接,而不是从 127.0.0.1。虽然 localhost 和 127.0.0.1 在很多情况下是等价的,但MySQL的权限系统会将它们视为不同的主机。

查看mysql root用户

sql 复制代码
SELECT User, Host FROM mysql.user WHERE User = 'root';

执行结果:

由上述查询结果可知,root 用户确实没有配置允许从 127.0.0.1 这个地址连接。

修改或创建用户权限

sql 复制代码
// 创建用户(如果尚未存在)
CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'kingsoft.';

// 授予权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' WITH GRANT OPTION;

// 刷新权限,上述创建用户、授予权限操作只会被记录在mysql.user表中,需执行下述命令将其加载到缓存中方可生效
FLUSH PRIVILEGES;

// 查看mysql root用户
SELECT User, Host FROM mysql.user WHERE User = 'root';

执行结果:

注1:如果不加127.0.0.1,则本地proxy无法连接到mysql。

注2:在 MySQL 5.7 及更高版本中,GRANT 语句和 IDENTIFIED BY 子句是分开的。您需要先创建用户(如果尚未存在),然后再授予权限。

注3:localhost、127.0.0.1仅限本机连接,如果想让公网上别的机器也能连接到mysql,需要把root用户的host字段改为'%',修改命令如下:

sql 复制代码
// 更新root用户host权限
update mysql.user set host='%' where user='root';

查看mysql读取my.cnf的顺序

sql 复制代码
// 如果不知道mysql使用的哪个配置文件,可以使用该命令查看mysql读取配置文件的顺序
mysqld --verbose --help | grep -A 1 'Default options'

// 找到mysql使用的配置文件后,就可按自己需要对配置文件进行修改
// 修改后重启mysql即可
// 我的本地机器上没有 /etc/my.cnf 文件,所以修改 /etc/mysql/my.cnf
vim /etc/mysql/my.cnf

执行结果:

注:如果 /etc/my.cnf 文件存在,则优先使用该文件,如果 /etc/my.cnf 文件不存在,则使用 /etc/mysql/my.cnf 文件,以此类推。

相关推荐
可乐ea2 分钟前
从第一性原理构建 AI Agent:提示词、工具、技能与记忆全解剖
数据库·人工智能·工具调用·ai智能体·提示词工程·agent开发·智能体记忆
余槐i10 分钟前
MySQL 深分页从 4 秒到 60 毫秒:延迟关联减少回表的实测与代价
mysql·性能优化·sql优化·执行计划·慢查询优化
东方护航数据恢复(深圳)18 分钟前
医疗案例:HIS/PACS 数据库页损坏修复,医院不停诊完成恢复【东方护航数据恢复深圳店】
数据库·数据恢复·医疗·二次开盘
lusklusklusk1 小时前
Oracle数据库基础之11_Duplicate和Dataguard和RAC
数据库·oracle
PHP实战开发录3 小时前
MySQL字段加索引为什么没变快
数据库·mysql·php·开发
天衍四九-3 小时前
【无标题】
前端·spring boot·mysql·nginx·docker
Lysander.Jovian4 小时前
mysql数据库基本使用
mysql
红红谈说4 小时前
标签化推送与已读统计怎么做?一次通知链路的工程复盘
数据库·消息推送·数字乡村·集合运算·已读回执·标签体系·写入放大
Shadow(⊙o⊙)4 小时前
MySQL索引
数据库·mysql
fb_123455 小时前
MySQL运维实战:备份恢复+主从复制+读写分离+MHA高可用(超详细手把手教程)
运维·mysql·oracle