更新 sudo dnf update
安装MySQL服务器:这边安装的是默认8.0 sudo dnf install mysql-server
启动MySQL服务:
sudo systemctl start mysqld
确保MySQL服务设置为在启动时自动启动:
sudo systemctl enable mysqld
运行初始安全脚本来设置root用户密码和调整安全选项:
sudo mysql_secure_installation
登录到MySQL以确保一切正常: mysql -u root -p 输入你在安全脚本中设置的密码。
到这一步基本安装完成但是
mysql8.0之后,lower_case_table_names 配置必须在安装好 MySQL 后,初始化 mysql 配置时才有效。一旦 mysql 启动后,再设置是无效的,而且启动报错。
需要重新初始化MySQL数据库,并且在初始化过程中,在初始化之前将lower_case_table_names = 1写入到my.cnf文件中
在修改配置之前,请先把 mysql 服务停止
systemctl stop mysqld.service
删除日志文件 rm /var/log/mysqld.log
进到目录下,循环删除 cd /var/lib/mysql ls rm -rf * ls
删除原目录,创建数据库目录并授权 rm -rf /var/lib/mysql cd /var/lib mkdir mysql
授权
chown -R mysql:mysql mysql
初始化MySql mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql --basedir=/var/lib/mysql --datadir=/var/lib/mysql
启动服务
systemctl start mysqld.service
systemctl status mysqld.service
查找文件 find / -name mysqld.log 查看密码 cat /var/log/mysql/mysqld.log |grep temp
然后再次登录
mysql -uroot -p
输入密码
创建用户设置远程访问 CREATE USER 'root'@'%' IDENTIFIED BY '1234edsfsdf+'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
etc/my.cnf修改一下,忽略大小写
# # This group is read both both by the client and the server # use it for options that affect everything # [client-server] # # include all files from the config directory # !includedir /etc/my.cnf.d [mysqld] lower_case_table_names=1
重启服务就不会报错