侧边栏壁纸
博主头像
DJ's Blog博主等级

行动起来,活在当下

  • 累计撰写 133 篇文章
  • 累计创建 51 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

【MySQL】8.0安装和配置

Administrator
2022-03-09 / 0 评论 / 0 点赞 / 77 阅读 / 4161 字

【MySQL】8.0安装和配置

安装

  • 安装yum源
wget http://repo.mysql.com/mysql80-community-release-el7-5.noarch.rpm
sudo yum -y install mysql80-community-release-el7-5.noarch.rpm
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
  • 查看mysql的yum源
cd /etc/yum.repos.d && ll
-rw-r--r-- 1 root root 1864 2月  22 2018 mysql-community.repo
-rw-r--r-- 1 root root 1885 2月  22 2018 mysql-community-source.repo
  • 使用yum安装mysql服务
yum install mysql-community-server -y
  • 检查是否已经设置为开机启动mysql服务
systemctl list-unit-files|grep mysqld
mysqld.service                                enabled 
mysqld@.service                               disabled

以上表示mysql已经设置为开机启动
  • 设置mysql开机启动
systemctl enable mysqld.service
  • 启动mysql服务
systemctl start mysqld.service
  • 查看mysql服务状态
systemctl status mysqld.service

卸载

  • 查看是否有安装mysql版本组件
rpm -qa|grep mysql
  • 卸载MySQL服务
rpm -ev [需要移除组件的名称]
rpm -e --nodeps [需要移除组件的名称] 

此命令为强制卸载

  • 删除数据库文件
sudo rm -rf /var/lib/mysql/*

配置

  • 初始化mysql,并设置表名不区分大小写
mysqld --initialize --lower-case-table-names=1

如果要设置表名不区分大小写,则要先执行初始化命令,再启动mysql,不然启动之后lower-case-table-names的值默认为0

  • 查看mysql表名是否区分大小写
show variables like 'lower_case_table_names';
  • 查看mysql初始默认密码
grep 'temporary password' /var/log/mysqld.log
2019-06-20T09:04:50.727449Z 1 [Note] A temporary password is generated for root@localhost: xuukjN,?q8Y<

初始密码为:xuukjN,?q8Y<
  • 使用初始密码登陆mysql
mysql -uroot -p
  • 重置初始密码
alter user 'root'@'localhost' identified by '新密码';
  • 开启mysql远程连接
mysql -uroot -p
use mysql;
update user set host = '%' where user = 'root';
flush privileges;

如果在输入初始密码之后,返回Access denied for user 'root'@'localhost',则可以通过如下操作来解决

  1. systemctl stop mysqld
  2. systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
  3. systemctl start mysqld
  4. mysql -u root
  5. flush privileges;
  6. alter user 'root'@'localhost' identified by '新密码';
  7. delete from user where user = 'root' and host = '%';
  8. update user set host = '%' where user = 'root';
  9. flush privileges;
  10. systemctl stop mysqld
  11. systemctl unset-environment MYSQLD_OPTS
  12. systemctl start mysqld
0

评论区