当前位置:   article > 正文

ubuntu20 安装与配置 mysql8_ubuntu 22.04 mysql数据库不指定大小写

ubuntu 22.04 mysql数据库不指定大小写

一、安装

# 更新 apt-get 工具
sudo apt-get update

# 自动下载安装 mysql,默认安装最新版
sudo apt-get install mysql-server
  • 1
  • 2
  • 3
  • 4
  • 5

默认是自动启动的,此时可以使用 mysql 进入,不需要密码

二、配置

1.忽略大小写

lower_case_table_names 值为 0 视为敏感,值为 1 视为不敏感

  • window 默认为忽略
  • linux 默认为大小写敏感

使用 apt-get 安装有优点也有缺点

  • 优点是:使用上面方法的有点是一步到位,方便
  • 缺点是:会自动启动mysql(对于mysql8来说是缺点)

对于mysql8,忽略大小写的配置,需要在初始化前修改配置文件,如果要对已经启动过,产生了数据文件的mysql8服务,做忽略大小写配置变更,会多如下几个步骤

# mysql8 以下
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]下添加
lower_case_table_names=1

# mysql8 及以上,需要在初始化数据库时 添加
# 注意mysql8的服务名时mysql而MySQL7的服务名是mysqld
sudo mysqld --initialize --user=mysql --lower-case-table-names=1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
# 1.停掉 mysql 服务
service mysql stop

# 2.删除 /var/lib/mysql (建议重要数据,提前备份)
rm -rf /var/lib/mysql 

# 3.新建 /var/lib/mysql
mkdir /var/lib/mysql

# 4.授权
sudo chown -R mysql:mysql /var/lib/mysql

# 5.配置文件 [mysqld] 组下中添加 lower-case-table-names=1
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

# 6.初始化 lower-case-table-names=1
sudo /usr/sbin/mysqld --initialize --user=root --lower-case-table-names=1

# 7.启动服务,
service mysql start

# 8.经过初始化后会重置密码,给一个随机的密码
grep "A temporary password" /var/log/mysql/error.log

# 9.登录mysql后,查看忽略大小写是否成功
mysql> show variables like 'lower%';
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
2.设置账号密码
# 进入mysql 服务设置
sudo mysql

mysql> use mysql;
mysql> update user set plugin='mysql_native_password' where User='root';

# mysql8
#使用mysql_native_password修改加密规则
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
 
# 设置密码后进入mysql需要使用账号密码了,之前是有默认账号,没有密码的,可以直接使用 mysql 进入
sudo mysql -uroot -p123456
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
3.远程访问

在Ubuntu下MySQL缺省是只允许本地访问的,不能直接使用远程工具连接;

#找到 bind-address 修改值为 0.0.0.0
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

#重启mysql
sudo /etc/init.d/mysql restart

#切换数据库
mysql> use mysql;

#查询用户表命令:
mysql> select user,authentication_string,host from user;

#查看状态
mysql> select host,user,plugin from user;

#允许远程访问
mysql> update user set host = '%' WHERE user = 'root'; 

#刷新cache中配置 刷新权限
mysql> flush privileges; 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

三、完成

# 检查服务状态
systemctl status mysql.service
  • 1
  • 2

文章优先发布在gitee Wyrande/blog - Gitee.com

ubuntu20 安装与配置 mysql8

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/65133
推荐阅读
相关标签
  

闽ICP备14008679号