如何初始化mysql数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何初始化mysql数据库相关的知识,希望对你有一定的参考价值。
初始化mysql数据库,在shell中运行以下命令:
cd /usr/local/mysql
mkdir sock
cd /usr/local/mysql/bin
初始化数据库
./mysql_install_db--user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
或者# mysqld --initialize
扩展资料
mysql数据库的备份
1、物理冷备份,需要在数据库关闭状态下进行,能够较好的保证数据库的完整性。一般用于非核心业务,这类业务一般都允许终端,物理冷备份的特点就是速度快,恢复操作简单。通常通过直接打包数据库文件夹(如:/usr/local/mysql/data)来实现
2、通过启用二进制日志进行增量备份,MySQL支持增量备份,进行增量备份时必须启用二进制日志。二进制日志文件为用户提供复制,对执行备份点后进行的数据库更改所需的信息进行恢复。如果进行增量备份,需要刷新二进制日志。
参考资料来源:百度百科—mySQL
参考技术A 一、mysql_install_db说明当MySQL的系统库(mysql系统库)发生故障或需要新加一个mysql实例时,需要初始化mysql数据库。
需要使用的命令:/usr/local/mysql/bin/mysql_install_db
#/usr/local/mysql/bin/mysql_install_db --help 可以查看帮助信息如下
Usage: /usr/local/mysql/bin/mysql_install_db [OPTIONS]
--basedir=path The path to the MySQL installation directory.
--cross-bootstrap For internal use. Used when building the MySQL system
tables on a different host than the target.
--datadir=path The path to the MySQL data directory.
--force Causes mysql_install_db to run even if DNS does not
work. In that case, grant table entries that normally
use hostnames will use IP addresses.
--ldata=path The path to the MySQL data directory.
--rpm For internal use. This option is used by RPM files
during the MySQL installation process.
--skip-name-resolve Use IP addresses rather than hostnames when creating
grant table entries. This option can be useful if
your DNS does not work.
--srcdir=path For internal use. The directory under which
mysql_install_db looks for support files such as the
error message file and the file for popoulating the
help tables.
--user=user_name The login username to use for running mysqld. Files
and directories created by mysqld will be owned by this
user. You must be root to use this option. By default
mysqld runs using your current login name and files and
directories that it creates will be owned by you.
All other options are passed to the mysqld program
除了支持以上的参数,还支持mysqld的参数。
二、举例:
本文以新加一个mysql实例为例。例如服务器上已经安装了3306端口的mysql服务,需要再启一个3308端口的mysql服务。
假设mysql安装在/usr/local/mysql路径下,找一个磁盘空间剩余比较大的盘,如/data1,把3308端口的mysql的数据保存在/data1下
#mkdir /data1/mysql_3308
#mkdir /data1/mysql_3308/data
#chown -R mysql:mysql /data1/mysql_3308
复制一个mysql配置文件my.cnf到/data1/mysql_3308目录下
#vi /data1/mysql_3308/my.cnf
修改配置文件,将端口和相关目录的都改为新的设置,如下:
[client]
character-set-server = utf8
port = 3308
socket = /tmp/mysql_3308.sock
[mysqld]
user = mysql
port = 3308
socket = /tmp/mysql_3308.sock
basedir = /usr/local/mysql
datadir = /data1/mysql_3308/data
log-error = /data1/mysql_3308/mysql_error.log
pid-file = /data1/mysql_3308/mysql.pid
......其他略
确保配置文件无误。
运行下面命令进行数据库的初始化:
#/usr/local/mysql/bin/mysql_install_db --defaults-file=/data1/mysql_3308/my.cnf --datadir=/data1/mysql_3308/data
完成后新的3308数据库就初始化好了,如果有报错,则按照报错的提示查看报错日志,一般情况下都是my.cnf配置文件的问题,修正后即可。
三、启动新mysql
启动3308端口的mysql服务
#/usr/local/mysql/bin/mysqld_safe --defaults-file=/data1/mysql_3309/my.cnf &
检查是否启动
#ps aux|grep mysql
如果有3308字样说明已经启动成功
可将启动命令加入/etc/rc.local随服务器启动
新加的mysql没有设置root密码,可以通过下面命令设置root密码:
#/usr/local/mysql/bin/mysqladmin -S /tmp/mysql_3308.sock -u root password 'new-password' 参考技术B 1、停止mysql服务
2、删除mysql的data目录下的,除mysql这个目录外的其他目录(为保险期间,先移走)
3、重启myql即可
-----------------------------------
呵呵,放松,一切都会好起来的!
mysql初始化数据库,终于搞明白了
SpringCloud面试题
- 什么是 Spring Cloud?
- 使用 Spring Cloud 有什么优势?
- 服务注册和发现是什么意思?Spring Cloud 如何实现?
- Spring Cloud 和dubbo区别?
- SpringBoot和SpringCloud的区别?
- 负载平衡的意义什么?
- 什么是 Hystrix?它如何实现容错?
- 什么是 Hystrix 断路器?我们需要它吗?
- 什么是 Netflix Feign?它的优点是什么?
- 什么是 Spring Cloud Bus?我们需要它吗?
- Spring Cloud断路器的作用
- 什么是SpringCloudConfig?
- Spring Cloud Gateway?
SpringBoot面试题
- 什么是 Spring Boot?以及Spring Boot的优劣势?
- 为什么要用 Spring Boot?
- Spring Boot 的核心配置文件有哪几个?它们的区别是什么?
- Spring Boot 的配置文件有哪几种格式?它们有什么区别?
- Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
- 开启 Spring Boot 特性有哪几种方式?
- Spring Boot 需要独立的容器运行吗?
- 运行 Spring Boot 有哪几种方式?
- Spring Boot 自动配置原理是什么?
- Spring Boot 的目录结构是怎样的?
- 你如何理解 Spring Boot 中的 Starters?
- 如何在 Spring Boot 启动的时候运行一些特定的代码?
- Spring Boot 有哪几种读取配置的方式?
- Spring Boot 支持哪些日志框架?推荐和默认的日志框架是哪个?
- SpringBoot 实现热部署有哪几种方式?
- 你如何理解 Spring Boot 配置加载顺序?
- Spring Boot 如何定义多套不同环境配置?
- Spring Boot 可以兼容老 Spring 项目吗,如何做?
- 保护 Spring Boot 应用有哪些方法?
- Spring Boot 2.X 有什么新特性?与 1.X 有什么区别?
Dubbo面试题
- Dubbo与DubboX区别
- Dubbo中zookeeper做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么?
- Dubbo中有哪些角色?
- Dubbo在安全机制方面是如何解决的
- Dubbo执行流程?
- Dubbo支持的协议有哪些?
- Dubbo支持的注册中心有哪些?
- dubbo服务负载均衡策略?
- dubbo核心的配置有哪些?dubbo推荐用什么协议?
- dubbo连接注册中心和直连的区别
- dubbo通信协议dubbo协议为什么不能传大包
- dubbo通信协议dubbo协议为什么要消费者比提供者个数多
- dubbo通信协议dubbo协议为什么采用异步单一长连接
- dubbo通信协议dubbo协议适用范围和适用场景
- Spring Cloud与Dubbo的区别是什么?
- 什么是Dubbo?
- 简述Dubbo的均衡策略和集群容错模式
- 为什么要用 Dubbo?
- Dubbo 的整体架构设计有哪些分层?
- 默认使用的是什么通信框架,还有别的选择吗?
- 服务调用是阻塞的吗?
- 一般使用什么注册中心?还有别的选择吗?
- 默认使用什么序列化框架,你知道的还有哪些?
- 服务提供者能实现失效踢出是什么原理?
- 服务上线怎么不影响旧版本?
- 如何解决服务调用链过长的问题?
- 说说核心的配置有哪些?
- Dubbo 推荐用什么协议?
- 同一个服务多个注册的情况下可以直连某一个服务吗?
- 画一画服务注册与发现的流程图?
- Dubbo 集群容错有几种方案?
- Dubbo 服务降级,失败重试怎么做?
- Dubbo 使用过程中都遇到了些什么问题?
- Dubbo Monitor 实现原理?
- Dubbo 用到哪些设计模式?
- Dubbo 配置文件是如何加载到 Spring 中的?
- Dubbo SPI 和 Java SPI 区别?
- Dubbo 支持分布式事务吗?
- Dubbo 可以对结果进行缓存吗?
- 服务上线怎么兼容旧版本?
- Dubbo 必须依赖的包有哪些?
- Dubbo telnet 命令能做什么?
- Dubbo 如何优雅停机?
- Dubbo 和 Spring Cloud 的区别?
- 你还了解别的分布式框架吗?
最后
针对以上面试题,小编已经把面试题+答案整理好了,想要获取这份面试题+答案的朋友帮忙点赞后,戳这里免费领取就可以了
面试专题
除了以上面试题+答案,小编同时还整理了微服务相关的实战文档也可以分享给大家学习
务相关的实战文档也可以分享给大家学习**
[外链图片转存中…(img-IK1F2gMA-1626877109051)]
[外链图片转存中…(img-3qo2RgdQ-1626877109053)]
以上是关于如何初始化mysql数据库的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Docker Compose 中初始化 MySql 数据库