索引
- Centos7 安装mysql 8.0.34
- 准备工作
- 安装教程
- 安装并配置
- 配置MySQL
- 配置远程访问
- 重新启动MySQL服务
- 为已安装的MySQL8设置不区分大小写
- 背景
- 操作步骤
Centos7 安装mysql 8.0.34
准备工作
centos7 服务器
xshell
安装教程
安装并配置
在安装MySQL之前,我们应该确保系统已经更新到最新的软件包和安全补丁。打开终端,输入以下命令来更新系统
yum update
为了方便安装MySQL,我们需要下载并安装MySQL存储库。执行以下命令来下载存储库:
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
出现问题:
-bash: wget: 未找到命令
安装wget,需要安装,安装命令如下:
yum -y install wget
重新执行命令
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
安装MySQL存储库
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
安装MySQL服务器
yum install mysql-server
出现问题
mysql-community-libs-compat-5.7.41-1.el7.x86_64.rpm 的公钥尚未安装
解决问题
如果使用的4.1以上版本的rpm的话,除了import mysql的公钥到个人用户的配置中,还需要import mysql的公钥到RPM的配置中
运行命令
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
再次执行安装mysql 服务器
yum install mysql-server
如果是mysql版本是8,那么需要在启动mysql 服务前设置表名忽略大小写,否则只能后面更改。
vim /etc/my.cnf
#添加
lower_case_table_names=1
启动mysql 服务
systemctl start mysqld
查看mysqld 进程状态
systemctl status mysqld
如果服务正常运行,您将看到"active (running)"的状态。
配置MySQL
sudo mysql_secure_installation
提示进行操作,您将被要求设置MySQL的root密码和其他一些安全选项。
查看mysql 服务器初始化密码
grep 'password' /var/log/mysqld.log |head -n 1
再次执行命令
mysql_secure_installation
修改账号/密码 username/ password
登录MySQL
使用以下命令登录MySQL服务:
mysql -u root -p
您将被要求输入MySQL的root密码,然后您将进入MySQL shell,可以开始与数据库交互。
配置远程访问
在MySQL shell中创建新用户
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
授予新用户远程访问权限
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
更新更改
FLUSH PRIVILEGES;
重新启动MySQL服务
完成配置后,使用以下命令重新启动MySQL服务:
sudo systemctl restart mysqld
可以测试使用navicat 访问mysql 服务器。
为已安装的MySQL8设置不区分大小写
背景
github上取去jeecgboot前后端项目
初始化 jeecgboot 数据库,启动项目出现问题,表名大写,但是mysql8 数据库中的表是严格小写的,所以呢需要调整mysql配置
vim /etc/my.cnf
添加忽略表名大小写配置参数 lower_case_table_names(0:大小写敏感;1:大小写不敏感)
lower_case_table_names=1
操作步骤
-
停止MySQL
-
删除数据目录,即删除 /var/lib/mysql 目录
-
在MySQL配置文件( /etc/my.cnf )中添加 lower_case_table_names=1
-
启动 MySQL
-
设置登录密码,配置远程访问
因为删除的数据目录包含密码,授权信息,业务数据库和系统数据库。
所以此时的临时密码发生改变,应该选择离当前时间最近的临时密码(按照时间降序排列取第一个)
grep 'temporary password' /var/log/mysqld.log
也就是选择2023-10-03对应的临时密码。