Linux安装mysql 8.0.28

1,269 阅读2分钟
  1. 从官网拿到地址下载安装包,使用的是tar文件,大几百兆。

  2. 解压缩tar包:

tar xvf mysql-8.0.28-1.el8.x86_64.rpm-bundle.tar

解压缩后所有的文件如下:

image.png

  1. 老老实实按照依赖顺序,按先后顺序依次安装如下文件:

    1. mysql-community-common-8.0.28-1.el8.x86_64.rpm
    2. mysql-community-icu-data-files-8.0.28-1.el8.x86_64.rpm
    3. mysql-community-client-plugins-8.0.28-1.el8.x86_64.rpm
    4. mysql-community-libs-8.0.28-1.el8.x86_64.rpm
    5. mysql-community-client-8.0.28-1.el8.x86_64.rpm
    6. mysql-community-server-8.0.28-1.el8.x86_64.rpm
  2. 使用rpm命令安装(root用户安装,否则会报权限不足):

rpm -ivh mysql-community-server-8.0.28-1.el8.x86_64.rpm

如果执行时报依赖关系错误(error: Failed dependencies:)则使用以下命令:

rpm -ivh mysql-community-server-8.0.28-1.el8.x86_64.rpm --nodeps --force
  1. 安装完成后,查看mysql版本,正确显示表示安装成功:
mysqladmin --version

如图:

image.png

  1. 使用命令查看mysql服务状态以及启动、停止服务:
service mysqld status --查看状态
service mysqld start --启动mysql服务
service mysqld stop --停止mysql服务
service mysqld restart --重启mysql服务
  1. 查看初始密码:
cat /var/log/mysqld.log | grep password
  1. 初次连接mysql会报错误(ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)),需要修改密码:
mysql -u root -p --初始密码登陆
alter user root@localhost identified by '密码'; --登录后修改初始密码
  1. 修改编码:

    1. 查看当前编码:
    show variables like 'character%';
    

    image.png

    1. 修改配置文件(先停服务,修改完后再启动服务):
    [client]
    default_character_set=utf8
    [mysqld]
    collation_server = utf8_general_ci
    character_set_server = utf8
    
  2. 开启root远程访问:

use mysql; --切换database到mysql
select user,authentication_string,host from user; --查看root用户的host信息
update user set host = '%' where user = 'root'; --更新root用户的host信息
flush privileges; --刷新
select user,authentication_string,host from user; --查看root用户的host信息

image.png

  1. 卸载mysql:
rpm -qa|grep -i mysql --查看安装信息
rpm -ev mysql-community-server-8.0.28-1.el8.x86_64 --rpm卸载已安装的包

image.png

  1. 创建新的database并指定字符集:
create database demo charset utf8 collate utf8_general_ci;
  1. 创建用户并授权demo数据库的select,insert,update,delete等4个权限:
create user 'hll'@'%' identified by '密码';
grant select,insert,update,delete on demo.* to 'hll'@'%'; --如果授权所有,使用all替代