那么在安装之前小编给猿友们普及一下mysql的作用!
MySQL是一个关系型数据库管理系统(RDBMS),由瑞典的MySQL AB公司开发,现在属于Oracle旗下产品。它是世界上最流行的关系型数据库管理系统之一,尤其在WEB应用方面,MySQL被认为是最好的RDBMS应用软件之一。
关系型数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样的设计增加了速度并提高了灵活性。MySQL使用的SQL(结构化查询语言)是用于访问数据库的最常用标准化语言。
MySQL的特点包括:
- 体积小、速度快、总体拥有成本低,尤其是其开放源代码这一特性,使得中小型和大型网站的开发都倾向于选择MySQL作为网站数据库。
- 具有功能强、使用简单、管理方便、运行速度快、可靠性高、安全保密性强等优点。
- 支持多种操作系统平台,如Unix、Linux、Windows等,并提供了针对不同编程语言的API函数。
- 使用核心线程实现多线程,能够很好地支持多CPU。
- 提供事务和非事务的存储机制,以及快速的基于线程的内存分配系统。
MySQL数据库系统使用SQL进行数据库管理,数据库人员可以通过SQL语句来建立、访问、管理、检索和拷贝所储存的数据信息。同时,MySQL也支持双授权政策,即社区版和商业版,用户可以根据需要选择适合的版本。
总的来说,MySQL是一个功能强大、易于使用且经济实惠的关系型数据库管理系统,广泛应用于各种规模的网站和应用开发中。
正文开始
1. 创建文件夹,准备用来存储数据库各项配置文件
跳转到/usr/local目录中
在local目录中创建一个docker目录
mkdir docker
创建好后跳转到这个新创建的docker目录中
在docker这个目录中继续创建两个文件夹
mkdir mysql
存储配置文件
mkdir mydata
存储mysql的数据
这两个文件夹
创建好后先跳转到mysql这个文件夹中
跳转进去后输入
vim my.cnf
输入之后会跳转到这一个页面然后把下面的配置粘进去
把底下的mysql配置都粘进去
[client]
# 端口号
port = 3306
[mysql]
no-beep
default-character-set = utf8mb4
[mysqld]
# 端口号
port = 3306
# 数据目录
datadir = /var/lib/mysql
# 新模式或表时将使用的默认字符集
character-set-server = utf8mb4
# 默认存储引擎
default-storage-engine = INNODB
# 将 SQL 模式设置为严格
sql-mode = "STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
# 最大连接数
max_connections = 1024
# 表缓存
table_open_cache = 2000
# 表内存
tmp_table_size = 16M
# 线程缓存
thread_cache_size = 10
# 设置大小写不敏感
lower_case_table_names = 1
# myisam设置
myisam_max_sort_file_size = 100G
myisam_sort_buffer_size = 8M
key_buffer_size = 8M
read_buffer_size = 0
read_rnd_buffer_size = 0
# innodb设置
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 1M
innodb_buffer_pool_size = 8M
innodb_log_file_size = 48M
innodb_thread_concurrency = 33
innodb_autoextend_increment = 64
innodb_buffer_pool_instances = 8
innodb_concurrency_tickets = 5000
innodb_old_blocks_time = 1000
innodb_open_files = 300
innodb_stats_on_metadata = 0
innodb_file_per_table = 1
innodb_checksum_algorithm = 0
# 其他设置
back_log = 80
flush_time = 0
join_buffer_size = 256K
max_allowed_packet = 4M
max_connect_errors = 100
open_files_limit = 4161
sort_buffer_size = 256K
table_definition_cache = 1400
binlog_row_event_max_size = 8K
sync_master_info = 10000
sync_relay_log = 10000
sync_relay_log_info = 10000
#排除包
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
这些配置全部都粘进去
2. 下载mysql镜像
docker pull mysql:5.7
下载成功,如果不是这些的话,可能是docker配出问题了,这边建议重装系统
继续在mysql目录下创建一个启动mysql的脚本
vim startMysql.sh
进入到这个页面
然后配置你的启动mysql脚本
docker run -p 3306:3306 --name mysql \
--privileged=true \
--restart=always \
-v /docker/mydata/mysql/log:/var/log/mysql \
-v /docker/mydata/mysql/data:/var/lib/mysql \
-v /docker/mydata/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=数据库密码 \
-d mysql:5.7
把这个配置文件粘进去,这个-e MYSQL-ROOT-PASSWORD=数据库密码!!,这个是数据库密码,是你自定义的,你可以自己设置一个数据库密码,没有必要一定是这个,第一次启动之前就要改,不然这个密码就一直是这样了
输入:wq!保存并退出
底下给这个脚本设置一下权限
chmod -R 777 start.sh
设置完成之后输入ll查看权限是否设置成功
设置成功之后文件名会变成绿色的样子,普通权限则是白色的
输入./start.sh启动mysql
启动
启动完成之后查看一下是否启动成功
输入
docker ps -a
出现up代表启动成功