linux下MySQL8默认是区分大小写的,为了避免之后会发生报错的问题,建议设置一下
1.下载安装mysql
1.1.两种Ubuntu安装Mysql8的方法
1.1.1第一种安装方法:官网下载deb包进行安装mysql8
cd /home
#随便进入一个目录下进行下载deb包
wget http://repo.mysql.com/mysql-apt-config_0.8.22-1_all.deb
#有网状态下,wget 下载deb包
sudo dpkg -i mysql-apt-config_0.8.22-1_all.deb
#使用 dpkg 运行deb包
如果虚拟机处于离线状态,就需要去官网下载好deb包,然后上传到服务器即可
1.1.2.第二种安装方法:使用apt下载mysql(需要联网状态)
sudo apt-get update
#先进性更新一下源
sudo apt-get install mysql-server
#直接下载安装,按 y 就行
1.2.来到Mysql配置文件下
cd /etc/mysql/mysql.conf.d/
#这是默认的安装路径
sudo vim mysqld.cnf
#使用 vim 进行编辑配置文件
1.3.在配置文件下找到【mysqld】
在【mysqld】的下面添加一段代码:
lower_case_table_names=1
# 不区分大小写
bind-address =127.0.0.1
#允许远程访问
1.在 vim 命令下(就是进入配置文件的状态下),刚进入是只读状态,如果不清楚自己在什么状态,你可以 疯狂摁 Esc 按键,就可以来到 只读状态(当然按一下就够用)。
2.确定处于只读状态下,可以点击 / (单斜杠) 后面直接输入 关键词,就可以快速找到目标地点。
3.若想编辑配置文件 按字母 i 就可以。
4.编辑好之后,需要回到只读状态(按Esc键),然后按 Shift+: ,后面输入 wq!(保存文件并退出)
1.4.重建并修改/var/lib/mysql目录权限
sudo rm -rf /var/lib/mysql/
sudo mkdir /var/lib/mysql
#创建文件夹
sudo chown mysql:mysql /var/lib/mysql
#给文件夹附加权限
sudo /usr/sbin/mysqld --initialize --user=root --lower-case-table-names=1
#初始化mysql
1.5.重启mysql
sudo service mysql restart
1.6.查看root账号生成的临时密码
grep "A temporary password" /var/log/mysql/error.log
1.7.使用临时密码登陆mysql然后重置root密码
sudo mysql -u root -p
#进入mysql
show variables like '%case_table%';
#查看不区分大小写是否生效,0-区分大小写,1-不区分大小写
ALTER USER'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
#设置无需sudo即可访问MySQL
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
#修改root用户密码
use mysql;
#切换到mysql数据库
update user set Host = '%' where user = 'root';
#设置root用户可以远程连接
FLUSH PRIVILEGES;
#刷新权限
以上代码根据自己的需求去进行配置
2.如果你的虚拟机原本就有mysql,那就先卸载如下
sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor
sudo apt-get remove mysql-common
sudo apt-get autoremove --purge mysql-server-8.0
dpkg --list|grep mysql
#查看是否还存在依赖的情况
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
#删除有关MySQL服务的依赖
到这里 你的机器就卸载干净了,然后再进行下载安装的流程。
我又对apt安装Mysql8.0进行了简化如下:
apt-get install mysql-server
#在线安装 mysql
mysql -uroot -p (无密码)
#安装好之后,登陆mysql,点回车就可以
alter user 'root'@'localhost' identified with mysql_native_password by '123456' ;
#设置root密码
use mysql;
#启用数据库mysql
update user set host='%' where user = 'root';
#开启远程访问mysql
flush privileges;
#刷新服务
完成上面的代码,mysql就基本完成安装了,为了完美在进行修改一下参数:
vim /etc/mysql/mysql.conf.d/mysqld.cnf
修改bind-address= 0.0.0.0 绑定ip
修改max_connections= 2000 最大连接数
添加 skip-name-resolve 禁用dns反向解析
#修改上面的配置文件即可
service mysql restart
#重启mysql
全文中 执行代码前都有 sudo(意思就是以root管理员权限去运行代码)