07-Mysql容器环境搭建
Mysql环境搭建Docker镜像Mysql的官方镜像中,当前的LTS版本是8.4.1,基于的Linux版本是Oracle Linux9,但是客户提供的服务器的CPU不支持 x86_64 V2,只支持 x86_64,所以不能使用该版本。故采用 8.4.0-oraclelinux8 版本的镜像。
准备映射的容器卷Mysql需要映射出来的容器卷有:/var/log/mysql:存储日志信息/var/lib/mysql:存储数据库数据/etc/mysql/conf.d:存储配置信息/root/mysql_workspace/mysql-files:用于mysql的LOAD DATA INFILE导入数据准备对应文件夹:准备配置文件在/root/mysql_workspace/conf文件夹(即映射到容器的/etc/mysql/conf.d文件夹)中创建MySql的配置文件my.cnf:启动容器启动mysql-master容器:预警Mysql数据库导入创建用户和数据库进入容器:使用root用户登录数据库:创建用户、数据库、授权:导入数据将公司产品的myproject.sql文件上传到服务器上,导入到mysql-master容器中:进入docker容器:使用myproject用户登录:使用myproject数据库,导入:程序应用中配置连接context.xml:
<Resource name="jdbc/default" auth="Container"
type="javax.sql.DataSource" maxTotal="30" maxIdle="10" maxWaitMillis="100000"
testOnBorrow="false" validationQuery="select 1" testWhileIdle="true" timeBetweenEvictionRunsMillis="30000" numTestsPerEvictionRun="10"
removeAbandonedOnBorrow="true" removeAbandonedTimeout="60000"
logAbandoned="true" username="myproject" password="myproject"
driverClassName="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://192.168.xxx.xxx:8306/myproject?autoReconnect=true" />
数据库备份导出Mysql使用mysqldump进行数据库备份。常用语句示例:
# 备份全部数据库的数据和结构
mysqldump -uroot -proot -A > /data/mydb.sql
# 备份mydb数据库的数据和机构
mysqldump -uroot -proot mydb > /data/mydb.sql
# -t 只备份表数据
# -d 只备份表结构
mysqldump -uroot -proot mydb -t > /data/mydb.sql
# 备份多个数据库,使用--databases指定
mysqldump -uroot -proot --databases db1 db2 > /data/mydb.sql
# 备份数据库的指定表 t1、t2
mysqldump -uroot -proot mydb t1 t2 > /data/mydb.sql
# 导出存储过程
# -ntd 不导出表结构和数据
mysqldump -uroot -proot -ntd -R myproject > /data/mydb.sql
导入导入方式1 :在命令行直接进行导入
mysql -umyproject -pmyproject myproject < /data/mydb.sql
导入方式2:登入mysql之后,通过sql的source指令及逆行还原:
source /data/mydb.sql