centos部署mysql8

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: centos部署mysql8

一、环境:centos7

二、步骤:

  1、切换目录:

    /use/local

  2、创建mysql文件夹:

    mkdir mysql

  3、切换到mysql文件夹下:

    cd mysql

  4、下载mysql8.0安装包:

    wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

  5、解压mysql8.0安装包:

    tar xvJf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz

  6、重命名解压出来的文件夹,这里改成mysql-8:

    mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8

  7、/use/local/mysql文件夹下创建data文件夹 存储文件:

    mkdir data

  8、分别创建用户组以及用户和密码(如果提示已存在说明之前有创建过了):

    groupadd mysql

    useradd -g mysql mysql

  9、授权刚刚新建的用户:

    chown -R mysql.mysql /usr/local/mysql/mysql-8

    chmod 750 /usr/local/mysql/data -R

  10、配置环境,编辑/etc/profile文件:

    vim /etc/profile

    在最后一行加

    export PATH=$PATH:/usr/local/mysql/mysql-8/bin:/usr/local/mysql/mysql-8/lib

    (新手提示:添加完之后,换行,打出“:wq”,用来保存文件并退出)

  11、编辑my.cnf文件:

    vi /etc/my.cnf

    如下为mysql配置,复制粘贴到my.cnf文件中,打出“:wq”,用来保存文件并退出

    [mysql]

    default-character-set=utf8mb4

    [client]

    socket=/var/lib/mysql/mysql.sock

    [mysqld]

    #port=3306

    #server-id=3306

    user=mysql

    general_log = 1

    general_log_file= /var/log/mysql/mysql.log

    socket=/var/lib/mysql/mysql.sock

    basedir=/usr/local/mysql/mysql-8

    datadir=/usr/local/mysql/mysql-8/data

    log-bin=/usr/local/mysql/mysql-8/data/mysql-bin

    innodb_data_home_dir=/usr/local/mysql/mysql-8/data

    innodb_log_group_home_dir=/usr/local/mysql/mysql-8/data/

    character-set-server=utf8mb4

    lower_case_table_names=1

    autocommit=1

    default_authentication_plugin=mysql_native_password

    symbolic-links=0

    #skip-grant-tables #免密登录mysql

    [mysqld_safe]

    log-error=/usr/local/mysql/mysql-8/data/mysql.log

    pid-file=/usr/local/mysql/mysql-8/data/mysql.pid

    #

    # include all files from the config directory

 

  12、切换到/usr/local/mysql/mysql-8/bin目录下:

    cd bin

  13、初始化基础信息,得到数据库的初始密码(在/usr/local/mysql/mysql-8/bin目录下执行):

    ./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8 --datadir=/usr/local/mysql/data/ --initialize

    如图,复制出红框的初始密码,保存到本地,后面需要使用到。

    

 

 

    ISSUE:如果因为路径等各种问题需要重新初始化的,需要清空上面创建的data文件,在data所在的目录下使用 rm -rf data 命令。

  14、复制 mysql.server 文件,在/usr/local/mysql/mysql-8目录下执行:

    cp -a ./support-files/mysql.server /etc/init.d/mysql

    cp -a ./support-files/mysql.server /etc/init.d/mysqld

  15、赋予权限:

    chown 777 /etc/my.cnf

    chmod +x /etc/init.d/mysql

    chmod +x /etc/init.d/mysqld

  16、检查一下/var/lib/mysql是否存在,否则进行创建:

    mkdir /var/lib/mysql

    然后再赋予权限:

    chown -R mysql:mysql /var/lib/mysql/

  17、启动数据库,有SUCCESS字眼说明MySQL安装完成:

    service mysql start

  ps:

  如果发现启动失败,可以先查看data里面的mysql.log,如果有提示3306这样的字样,第一个想到的应该是端口被占用,

  使用lsof -i:端口号,查看是哪个PID(进程号)占用了该端口,然后使用kill PID(进程号)杀掉进程,重新执行service mysql start


三:修改密码,并设置远程连接(为了可以在别的机器下面连接该mysql)

  1、登录:

    mysql -u root -p

  2、输入密码:

    第二步保存的密码

    如忘记密码则去掉my.cnf文件中配置项   #skip-grant-tables  前的#号;重启mysql服务:

    service mysql restart

    停止mysql服务:

    service mysql stop

    mysql服务状态:

    service mysql status

  3、登录成功,修改密码:

    使用mysql:

    use mysql;

    修改密码:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

    执行flush privileges; 使密码生效:

    flush privileges;

    再修改远程连接并生效:

    update user set host='%' where user='root';

    执行flush privileges; 使密码生效:

    flush privileges;

 

最后就可以使用root账号去登录mysql了。如果有遇到问题的小伙伴评论留言,文中如有遗漏错误,欢迎指正。


题外:

给mysql创建新的数据库用户并授予权限:

1)创建用户(名称随意,这里的用户名称为mysql)并可以远程访问

CREATE user 'mysql'@'%';

#修改密码

alter user 'mysql'@'%' identified with mysql_native_password by 'tcl.2021';

2)创建新的数据库

#create database 数据库名 default character set utf8mb4 collate utf8mb4_unicode_ci;

3)把新的数据库授权给新用户

#将test库的所有权限赋予mysql用户

grant all privileges on test.* to "mysql"@"%";

grant all privileges on test.* to "tcl"@"%";

4)、刷新权限

flush privileges;

 

遇见问题:

初始化基本信息报错:

执行命令:./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8 --datadir=/usr/local/mysql/data/ --initialize

错误:./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

原因:缺少了libaio.so.1的依赖库

解决方法:yum install -y libaio

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
19天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
56 3
|
20天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
36 2
|
22天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
65 2
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置服务等,并与使用 RPM 包安装进行了对比,帮助读者根据需求选择合适的方法。编译源码安装虽然复杂,但提供了更高的定制性和灵活性。
233 2
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤
【10月更文挑战第7天】本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据自身需求选择合适的方法。
59 3
|
1月前
|
关系型数据库 MySQL 数据库
使用Docker部署的MySQL数据库,数据表里的中文读取之后变成问号,如何处理?
【10月更文挑战第1天】使用Docker部署的MySQL数据库,数据表里的中文读取之后变成问号,如何处理?
59 3
|
1月前
|
关系型数据库 MySQL 数据库
使用Docker部署的MySQL数据库如何设置忽略表名大小写?
【10月更文挑战第1天】使用Docker部署的MySQL数据库如何设置忽略表名大小写?
154 1
|
1月前
|
存储 关系型数据库 MySQL
【MySQL精装典藏版】MySQL的安装与部署
【MySQL精装典藏版】MySQL的安装与部署
54 0
|
Linux 网络安全 开发工具
centos7部署l2tp ipsec
1、查询操作系统版本 #cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 2、查询系统是否支持ppp,返回yes代表通过。 #modprobe ppp-compress-18 && echo yes 3、查询系统是否开启了tun,返回File descriptor in bad state代表通过。
8007 0
|
1月前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
107 64
下一篇
无影云桌面