centos部署mysql8

简介: 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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
12月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
2627 16
|
11月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
1383 4
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
855 10
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
643 41
|
关系型数据库 MySQL 数据库
为什么 MySQL 不推荐用 Docker 部署?
本文探讨了MySQL是否适合容器化的问题,分析了Docker容器在数据安全、性能瓶颈、状态管理及资源隔离等方面的挑战,并指出目前主流分布式数据库如TDSQL和OceanBase仍倾向于部署在物理机或KVM上。
523 0
|
Linux 应用服务中间件 nginx
在CentOS上部署Minikube教程
至此,您已成功在CentOS上部署并使用Minikube。您可以自由探索Kubernetes的世界,熟练配置和管理Kubernetes集群。
1174 20
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
881 17
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
639 18
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
410 10
|
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代表通过。
9073 0