Ubuntu24.04安装MYSQL8.0

更新源

复制代码
sudo apt update

安装mysql服务 默认安装最新版本

复制代码
sudo apt install mysql-server

检查安装版本

复制代码
mysql --version

检查mysql运行状态

复制代码
systemctl  status mysql

开启远程访问,在ubuntu下mysql默认是只允许本地访问

复制代码
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

重启mysql

复制代码
sudo systemctl restart mysql

==============================================================================================

设置数据库关闭表名库名区分大小写

mysql8.0数据库表名默认是区分大小写的,但部署的项目需要关闭,所以服务器部署时需要设置关闭,好像还不能通过执行命令关闭,只能在安装时在mysql的配置文件中一开就就设置关闭的字段,官方文档建议在初始化数据库时设置。

复制代码
lower_case_table_names=1

使用于初次安装时使用,若使用后再需要修改,请先进行数据备份。修改步骤如下:

shell 复制代码
# 第一步:停止MySQL服务
sudo systemctl stop mysql
# 第二步:备份配置文件
sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/mysql.conf.d/mysqld.cnf.backup
# 第三步:停止服务
sudo service mysql stop
# 第四步:卸载刚安装的MySQL
sudo apt --purge autoremove mysql-server
# 第五步:删除目录/var/lib/mysql
sudo rm -rf /var/lib/mysql
# 第六步:还原配置文件
sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf.backup /etc/mysql/mysql.conf.d/mysqld.cnf
# 第七步:编辑配置文件
# 在myisam-recover-options  = BACKUP下添加lower_case_table_names=1
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 第八步:重新安装MySQL
sudo apt install mysql-server
# 安装过程中提示
# 配置文件 '/etc/mysql/mysql.conf.d/mysqld.cnf'
# ==> 系统中的这个文件或者是由您创建的,或者是由脚本建立的。
# ==> 软件包维护者所提供的软件包中也包含了该文件。
#   您现在希望如何处理呢? 您有以下几个选择:
#    Y 或 I  :安装软件包维护者所提供的版本
#    N 或 O  :保留您原来安装的版本
#      D     :显示两者的区别
#      Z     :把当前进程切换到后台,然后查看现在的具体情况
# 默认的处理方法是保留您当前使用的版本。
# *** mysqld.cnf (Y/I/N/O/D/Z) [默认选项=N] ?
 
# 选择N,使用自定义的文件版本
# 第九步:重启服务
sudo systemctl start mysql
# 查看服务状态
systemctl status mysql

检查是否安装成功

复制代码
sudo mysql -u root -p  # 输入root用户密码

mysql> use mysql

mysql> SHOW VARIABLES LIKE 'lower_case_%';

修改成功

==========================================================================

给mysql设置新用户并允许外部网络通过密码连接

登录mysql

shell 复制代码
sudo mysql -u root -p  # 输入root用户密码登录mysql

进入库名称为"mysql"的数据库

shell 复制代码
use mysql

创建新用户并设置密码:

shell 复制代码
CREATE USER 'root1'@'%' IDENTIFIED BY 'root';

这里的'%'表示允许任何IP地址连接,你也可以指定特定的IP地址或子网。root1是创建的新用户名,root是新密码。

授予新用户权限:

shell 复制代码
GRANT ALL PRIVILEGES ON *.* TO 'root1'@'%';

这条命令授予root1对所有数据库的所有权限。你可以根据需要调整权限范围和类型。

刷新权限使更改生效

复制代码
FLUSH PRIVILEGES;

使用navicat远程连接mysql数据库

相关推荐
猫咪很可爱27 分钟前
MySQL 视图与只读用户:安全查询的完整实践指南
数据库·sql·mysql
猫咪很可爱31 分钟前
MySQL 5.7 备份恢复后函数与存储过程丢失:原因分析与正确备份姿势
数据库·mysql·bug·shell
秦时明月之君临天下2 小时前
MySQL purge 参数详解:innodb_purge_threads 与 innodb_purge_batch_size
数据库·mysql·1024程序员节
努力努力再努力wz3 小时前
【C++ 高阶系列】C++ 高性能网络编程:当 Reactor 遇见协程:从 epoll 回调到异步 MySQL,彻底打通任务挂起与恢复
网络·c++·mysql
这个DBA有点耶3 小时前
测试全绿,上线三周数据没入账——那个95%的兼容度报告,漏掉的是边界
数据库·mysql·架构
gf13211114 小时前
python_高德地图驾车时长查询
数据库·python·mysql
时间售卖铺4 小时前
MySQL 日志管理
运维·数据库·mysql·云原生
秋风点枝4 小时前
数据库 01 · 体系结构与存储引擎
数据库·mysql
小此方5 小时前
Re:Mysql数据库基础篇(五):拒绝脏数据!一文吃透MySQL表的约束(主键、唯一键、外键与实战案例)
数据库·mysql
翔云1234565 小时前
Gaea(小米MySQL Proxy)整体架构
运维·数据库·mysql