Docker安装SqlServer、MariaDB
一、Docker 安装SqlServer 说明
1. 拉取镜像
docker pull mcr.microsoft.com/mssql/server:2019-latest
2.运行
docker run --name mssqlserver_2019 -d --restart unless-stopped -e "ACCEPT_EULA=Y" -p 1433:1433 -e TZ="Asia/Shanghai" -e "MSSQL_SA_PASSWORD=1234.com" mcr.microsoft.com/mssql/server:2019-latest
3.连接
可以使用官方的SSMS工具连接或者第三方管理工具连接,账号为sa
,密码为1234.com
PS:官方文档
Docker: Install containers for SQL Server on Linux - SQL Server
二、Docker 安装MariaDB 说明
1. 拉取镜像
docker pull mariadb:10.8
2.运行
docker run --name mariadb_10.8 -d --restart unless-stopped -p 3306:3306 -e TZ="Asia/Shanghai" -e MYSQL_ROOT_PASSWORD=1234.com mariadb:10.8
PS:官方文档
Installing and Using MariaDB via Docker
3.账号管理
3.1 登录数据库
mariadb -u root -p
输入初始密码1234.com
回车即可
3.2 查看内置账号
select user,host,password from mysql.user;
这里Host为
localhost
的root是只允许本地登录的,Host为%
的是可以外部连接登录的不建议
直接使用root账号外部登录,所以我们把%的这个删掉建议
新添加一个账号提供给外部使用
3.3 删除外部登录的root账号
delete from mysql.user where user='root' and host='%'; flush privileges;
3.4 添加外部账号
grant all privileges on *.* to dennis@'%' identified by 'dennis'; flush privileges;
也可以添加ip网段限制
GRANT ALL privileges ON *.* TO 'dennis'@'192.168.71.%' identified by 'my-new-password' with grant option; flush privileges;
4.更改编码格式(可忽略)
可选操作,更改编码格式等
如更改数据库编码格式和排序规则等。。。
可参考另一篇文章 https://www.dennisdong.top/archives/2022/CentOS安装mariadb以及更改数据库存储路径.html
默认的编码格式是utf8mb3
,我们需要更改为utf8mb4
,具体什么区别,上面文章中有讲到
4.1 查找mysql配置
查看所有已运行的容器
docker ps
进入docker镜像内部的etc
文件夹
docker exec -it 你的镜像ID bash
查看配置文件
这两个文件的内容是一模一样的,也有对各个文件的说明,我们只需要改
mariadb.conf.d
的配置即可,全局配置不用更改
4.2 进入配置文件夹
cd mariadb.conf.d/
ls
4.3 查看配置文件
cat 50-server.cnf
需要更改的配置在
mysqld
标记下面添加即可
4.4 更改配置文件
vim 50-server.cnf
此时会报错,vim: command not found
,需要安装vim
apt-get install vim
需要更新apt-get
apt-get update
如果无法更新,需要替换apt-get镜像源
更改镜像源参考文章 https://www.dennisdong.top/archives/2022/Docker中apt-get-update失败解决方案.html
更改完成之后再次安装输入y即可
重新执行
vim 50-server.cnf
复制内容到mysqld
下
# 设置server相关编码和排序规则
character-set-server=utf8mb4
# 跳过连接参数,如 mariadb -u root -p --default-character-set=latin2
skip-character-set-client-handshake
如果鼠标右键无法直接粘贴进去,查了很多方法说更改vim
中default.vim
以及安装vim-scripts,vim=gtk
等都没用,直接使用shift + insert
快捷键即可
更改完需要重启mariadb镜像