Ubuntu安装mysql8并设置表名不区分大小写
一、卸载
# ---- 删除mysql的数据文件
sudo rm /var/lib/MySQL/ -R
# ---- 删除mysql的配置文件
sudo rm /etc/mysql/ -R
# ---- 自动卸载mysql(包括server和client)
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor
# ---- 检查是否卸载干净
# 若没有返回,说明已完成卸载
dpkg -l | grep mysql
#首先在终端中查看MySQL的依赖项
dpkg --list|grep mysql
#卸载
sudo apt-get remove mysql-common
#卸载,看你自己安装的什么版本在卸载
sudo apt-get autoremove --purge mysql-server-8.0
#清除残留数据
dpkg -l|grep ^rc|awk '{print$2}'|sudo xargs dpkg -P
#再次查看MySQL的剩余依赖项,基本到这就干净了
dpkg --list|grep mysql
#如果有的话继续删除剩余依赖项
sudo apt-get autoremove --purge mysql-apt-config
二、安装数据库
# 更新 apt-get 工具
sudo apt-get update
# 自动下载安装 mysql,默认安装最新版
sudo apt-get install mysql-server
三、设置表名不区分大小写
参数值 | 解释 |
0 | 使用CREATE TABLE或CREATE DATABASE语句指定的大小写字母在硬盘上保存表名和数据库名。名称比较对大小写敏感。在大小写不敏感的操作系统如windows或Mac OS x上我们不能将该参数设为0,如果在大小写不敏感的文件系统上将--lowercase-table-names强制设为0,并且使用不同的大小写访问MyISAM表名,可能会导致索引破坏。 |
1 | 表名在硬盘上以小写保存,名称比较对大小写不敏感。MySQL将所有表名转换为小写在存储和查找表上。该行为也适合数据库名和表的别名。该值为Windows的默认值。 |
2 | 表名和数据库名在硬盘上使用CREATE TABLE或CREATE DATABASE语句指定的大小写字母进行保存,但MySQL将它们转换为小写在查找表上。名称比较对大小写不敏感,即按照大小写来保存,按照小写来比较。注释:只在对大小写不敏感的文件系统上适用! innodb表名用小写保存。 |
# 1.停掉 mysql 服务
systemctl stop mysql
# 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.启动服务,
systemctl start mysql
四、设置密码
# 经过初始化后会重置密码,给一个随机的密码
grep "A temporary password" /var/log/mysql/error.log
# 登录mysql
mysql -uroot -p'0d_EGZeDo4jQ'
修改密码和密码策略
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
use mysql;
update user set plugin='mysql_native_password' where User='root';
五、开启远程访问
mysql> flush privileges;
mysql> update user set host='%' where user='root';
mysql> Grant all privileges on root.* to 'root'@'%';
mysql> flush privileges;
如果还是不能访问,修改一配置文件的IP,或者注释
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
赞(1)
赏