mysql安装和配置
mysql安装和配置
mysql安装和配置
docker compose方式
安装
docker compose yml文件配置示例。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
mysql:
image: mysql:8.0
container_name: mysql
restart: always
networks:
your-network:
ipv4_address: 177.7.0.10
ports:
- 3306:3306
privileged: true
volumes:
- ${DATA_PATH}/mysql/mysql:/var/lib/mysql
- ${DATA_PATH}/mysql/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf
# 增加自定义配置。放置到conf.d目录下,会自动差分合并
- ${DATA_PATH}/mysql/mycustom.cnf:/etc/mysql/conf.d/mycustom.cnf
environment:
TZ: ${TZ}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
command:
[
'mysqld',
'--character-set-server=utf8',
'--collation-server=utf8_unicode_ci',
'--lower-case-table-names=1'
]
配置
挂载的mycustom.cnf
自定义配置文件参考。
# 允许远程连接
bind-address = 0.0.0.0
# 指定引擎
default_storage_engine=InnoDB
# 缓存池参数优化
innodb_buffer_pool_size=4294967296
innodb_buffer_pool_chunk_size=536870912
innodb_buffer_pool_instances=8
# 使用行格式记录二进制日志
binlog-format=row
# 二进制日志有效期,单位天。超时自动删除。也适用于中继日志。在8.0.1后提供了binlog_expire_logs_seconds参数秒级的更细粒度控制
expire_logs_days=7
# 单个二进制日志文件的最大大小。当max_relay_log_size参数未设置时也适用于中继日志
max_binlog_size=500M
原生方式
安装
ubuntu22.04安装mysql 8.0参考。
1
2
3
4
sudo apt-get install mysql-server -y
sudo systemctl enable mysql
sudo service mysql start
sudo service mysql status
配置
配置文件修改
修改/etc/mysql/mysql.conf.d/
目录下的mysqld.cnf
文件,改动内容参考上面章节。修改后重启mysql服务。
1
2
sudo systemctl restart mysql
sudo systemctl status mysql
允许远程连接
执行mysql -u root -p
连接数据库,执行以下sql
1
2
3
4
use mysql;
update user set host = '%' where user ='root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
本文由作者按照 CC BY 4.0 进行授权