centos部署mysql8

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 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

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
120
分享
相关文章
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
211 41
在CentOS上部署Minikube教程
至此,您已成功在CentOS上部署并使用Minikube。您可以自由探索Kubernetes的世界,熟练配置和管理Kubernetes集群。
217 20
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
295 17
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
93 18
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
104 10
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
977 26
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
CentOS7仅安装部署MySQL80客户端
通过上述步骤,你可以在CentOS 7上成功安装并配置MySQL 8.0客户端。这个过程确保你能够使用MySQL客户端工具连接和管理远程的MySQL数据库,而不需要在本地安装MySQL服务器。定期更新MySQL客户端可以确保你使用的是最新的功能和安全修复。
672 16
docker-compose部署mysql8
使用docker-compose容器化部署mysql8
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
242 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问