使用ubuntu安装MySQL最易上手教学(2023最新最详细教学)

更新apt

apt -y update

安装mysql-server

apt -y install mysql-server

可能有的问题:报权限不足的错误,加上sudo即可,如下

sudo apt -y install mysql-server

注:所有权限不足的命令都可以加上sudo

查看服务是否启动

ps -ef | grep mysql

如下图启动成功

或者使用这条命令,查看是否启动

systemctl status mysql

 如下图启动成功

 设置root登录密码

登录mysql

sudo mysql -uroot

选择数据库

use mysql

修改密码

alter user 'root'@'localhost' identified with mysql_native_password by '替换你要设置的密码';

完成此操作后,停止并启动MySQL服务器

sudo service mysql stop
sudo service mysql start

刷新权限表

flush privileges;

退出

exit

允许远程连接

登录

mysql -uroot -p

回车输入密码

注:linux操作系统输入是看不到的,输入完成直接回车即可
选择数据库:

use mysql

修改host运行远程登录

update user set host='%' where user='root';

刷新权限

flush privileges;

退出

exit

修改配置文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf

进入文件后按i,即可进行编辑。

然后将bind-address = 127.0.0.1注释掉(即在行首加#)

如下图

 完成后按ESC键退出编辑模式,输入 :wq (保存退出)

重启服务

service mysql restart 

设置忽略表名大小写

查看状态
通过下面这条命令查看当前 mysql 是否是区分大小写

show variables like '%case_table%';

如下:

注意:

lower_case_table_names=1 表示 mysql 是不区分大小写的

lower_case_table_names=0 表示 mysql 是区分大小写的

修改配置
MySQL 8.0 以上版本,大小写敏感配置比较坑,根据官方文档可以发现如下信息:

lower_case_table_names can only be configured when initializing the server. Changing the lower_case_table_names setting after the server is initialized is prohibited.
lower_case_table_names 只能在初始化服务器时配置。 禁止在服务器初始化后更改 lower_case_table_names 设置。

上面这段话的大概意思是说:lower_case_table_names 配置必须在安装好 MySQL 后,初始化 mysql 配置时才有效。一旦 mysql 启动后,再设置是无效的,而且启动报错。

注意:先将数据库下所有数据保存备份,如果你不在意数据的话直接删除数据

 停止服务
在修改配置之前,请先把 mysql 服务停止。执行下面命令:

sudo systemctl stop mysql.service

 删除错误日志
为了方便查看 mysql 的错误日志,可以先将 /var/log/mysqld.log 删除。命令如下:

sudo rm /var/log/mysqld.log

删除系统数据库与用户数据库
将 mysql 数据库中的系统数据库和用户数据库都删除掉,执行下面命令:

sudo rm -rf /var/lib/mysql

创建数据库目录
上面将已存在的数据库目录 /var/lib/mysql 删除,下面将手动创建一个空目录且进行授权。命令如下:

(1)手动创建一个 mysql 目录,即上面刚刚删除的 mysql 目录

 sudo mkdir /var/lib/mysql

(2)为 /var/lib/mysql 目录授权,设置目录的所属用户和所属组

sudo chown -R mysql:mysql /var/lib/mysql

 (3)查看目录详细信息,授权成功

 ll | grep mysql

如图 

 

 配置 lower_case_table_names
使用 vim 编辑器编辑 /etc/mysql/mysql.conf.d/mysqld.cnf 文件,如下:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

 在文件中的最后一行添加 lower_case_table_names 配置,配置如下:

保存配置信息。

初始化 MySql
执行如下命令初始化 mysql 数据库:

sudo mysqld --defaults-file=/etc/mysql/my.cnf --initialize  --user=mysql --basedir=/var/lib/mysql --datadir=/var/lib/mysql

启动 MySql 服务 

sudo systemctl start mysql.service

登录 MySql
由于上面执行了 MySql 初始化操作,曾经的密码已经不能用了。MySQL 将在初始化过程中创建临时密码,临时密码存储在 /var/log/mysql/error.log 中。

(1)使用 cat 和 grep 命令配合查找,命令如下:

sudo cat  /var/log/mysql/error.log  | grep password

 然后会输出这样一条记录

注意:上面的l_ALlspDb7ef 就是临时密码

(2)使用临时密码登录 MySql

mysql -uroot -p

然后输入临时密码回车
(3)修改用户密码,将密码修改为123456

alter user 'root'@'localhost' identified with mysql_native_password by '123456';

注意:其中 MYSQL_NATIVE_PASSWORD 是由于客户端连接 MySQL 时提示 “plugin caching_sha2_password” 错误,把 plugin 换成MYSQL_NATIVE_PASSWORD 后就没问题。

(4)确认配置是否生效

show variables like '%lower_case%';

 输出如下结果则生效 

刷新权限表

flush privileges;

进入mysql数据库

use mysql;

 修改host允许远程登录

update user set host = '%' where user = 'root';

退出

exit

我用两个小时制作的文章是否能帮助到你呢,可以的话,可以帮我点个赞,评论一下吗,谢谢。

如上,你就成功在ubuntu20.04安装好了MySQL数据库!

  • 7
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值