centos部署mysql8

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 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

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
24天前
|
SQL Java 关系型数据库
MySQL原理简介—3.生产环境的部署压测
本文介绍了Java系统和数据库在高并发场景下的压测要点: 1. 普通系统在4核8G机器上每秒能处理几百个请求 2. 高并发下数据库建议使用8核16G或更高配置的机器 3. 数据库部署后需进行基准压测,以评估其最大承载能力 4. QPS和TPS的区别及重要性 5. 压测时需关注IOPS、吞吐量、延迟 6. 除了QPS和TPS,还需监控CPU、内存、磁盘IO、网络带宽 7. 影响每秒可处理并发请求数的因素包括线程数、CPU、内存、磁盘IO和网络带宽 8. Sysbench是数据库压测工具,可构造测试数据并模拟高并发场景 9. 在增加线程数量的同时,必须观察机器的性能,确保各硬件负载在合理范围
125 72
|
2月前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
2月前
|
安全 关系型数据库 MySQL
CentOS7仅安装部署MySQL80客户端
通过上述步骤,你可以在CentOS 7上成功安装并配置MySQL 8.0客户端。这个过程确保你能够使用MySQL客户端工具连接和管理远程的MySQL数据库,而不需要在本地安装MySQL服务器。定期更新MySQL客户端可以确保你使用的是最新的功能和安全修复。
224 16
|
2月前
|
SQL 关系型数据库 MySQL
docker-compose部署mysql8
使用docker-compose容器化部署mysql8
|
3月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
208 26
|
3月前
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
88 5
|
4月前
|
Oracle 关系型数据库 MySQL
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
|
4月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
225 3
|
4月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
261 2
|
2月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决