MySQL的安装与启动
MySQL的安装与启动
本文作者:Sunny-King
发布时间:2023-03-07 17:55:33 星期二
最近在做一个关于注释和证据汇总的工作,其中涉及到基因ID、转录本ID、HGVS等信息,由于历史原因和不同数据库来源的原因,造成诸多不便。考虑利用MySQL来汇总关于基因和转录本的信息,便于后期查询。记录下学习过程和踩过的诸多坑。
一、下载镜像
为了便于安装和使用,避免其中的诸多权限问题,采用Docker的方式。首先从官网下载mysql的镜像,这里使用mysql:5.7版本的镜像文件。
# 从镜像源拉取mysql:5.7版本的镜像
$ docker pull mysql:5.7
# 查看镜像
$ docker images |grep mysql
mysql latest 70325c69f1fe 6 months ago 447MB
mysql 5.7 daff57b7d2d1 6 months ago 430MB
# 出现上述提示证明已经成功下载镜像
二、启动容器
提前配置mysql启动的默认项,在宿主机新建一个路径用以存储数据库的物理文件,并新建文件my.cnf作为mysql初始化配置项。
#在宿主机新建路径,当前路径为${workdir}
mkdir -p mysql/data
# 新建配置文件,并编辑配置项
cd mysql
touch my.cnf
vi my.cnf
# 在文件中插入下面的配置项
"""
[mysql]
#设置mysql客户端默认字符集
default-character-set=UTF8MB4
[mysqld]
#设置默认时区
default-time_zone='+8:00'
#设置3306端口
port=3306
#允许最大连接数
max_connections=200
#允许连接失败的次数
max_connect_errors=10
#默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=UTF8MB4
#开启查询缓存
explicit_defaults_for_timestamp=true
#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#等待超时时间秒
wait_timeout=60
#交互式连接超时时间秒
interactive-timeout=600
"""
利用docker启动容器
# 启动容器并挂载相应的目录
# 同步指定了mysql的root账户密码${PASSWORD}
docker run -d \
-p 33060:3306 \
-v ${workdir}/mysql/data:/var/lib/mysql \
-v ${workdir}/mysql/my.cnf:/etc/mysql/conf.d/my.cnf \
-e MYSQL_ROOT_PASSWORD=${PASSWORD} \
--name ${CONTAINER_NAME} \
mysql:5.7
# 查看容器的ID和名字,确认是否正确启动
docker ps |grep mysql
bebe3bcaf304 mysql:5.7 "docker-entrypoint.s…" 1 hours ago Up 43 hours 33060/tcp, 0.0.0.0:33060->3306/tcp, :::33060->3306/tcp ${CONTAINER_NAME}
三、进入容器开启远程访问
# 根据上一步查询到的容器名字或者ID进入容器
docker exec -it ${CONTAINER_NAME} bash
# 以root账户登录mysql
mysql -uroot -p${PASSWORD}
# 进入下面页面则证明mysql正确安装并启动
mysql>
如果需要远程访问mysql还需开启远程访问权限,进入容器,并登录mysql
# 添加远程登录权限,%表示可以从任意IP登录
mysql> alter user 'root'@'%' identified with mysql_native_password by '${PASSWORD}'';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
可以在windows平台用Mysql Workbench测试远程链接是否成功
点击新建连接
如图所示的Hostname处填写宿主机的IP,Port处填写刚才设置的端口33060。
然后点击Test Connection,按提示输入密码,如果显示下面提示,则证明链接成功,可以远程登录mysql。
本文作者:Sunny-King
本文链接:文章来源于博客园 https://www.cnblogs.com/Sunny-King/p/MySQL-01.html
转载要求:欢迎转载,转载之后请务必在文章明显位置标出原文链接和作者
错误修复:如有错误或疑问请联系博主
版权声明:本作品采用署名-非商业使用-禁止演绎 (by-nc-nd)许可协议进行许可
如果本文对您有帮助,请点个赞吧!志同道合的朋友可以点个关注。