1.检查系统是否自带mysql
rpm -qa | grep mysql
2.如果系统有安装,可以进行卸载:
rpm -e mysql // 普通删除模式
rpm -e –nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
3.安装
docker pull mysql:5.7 //这样可以指定mysql的版本号进行安装
docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/var/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
docker run -p 3306:3306 --name mysql
-v /mydata/mysql/log:/var/log/mysql
-v /mydata/mysql/data:/var/lib/mysql
-v /mydata/mysql/conf:/var/etc/mysql
-e MYSQL_ROOT_PASSWORD=root
-d mysql:5.7
参数说明 -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机 -v
/mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机 -e
MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
4.进入mysql容器,并登陆mysql
docker exec -it mysql bash
mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
//设置指定root账号以及密码可访问主机权限(navicat访问)
flush privileges; //刷新
问题1.-bash: mysql: command not found
原因:因为系统默认会查找/usr/bin下的命令,由于mysql没有在这个目录下,所以出现not found。因此需要做一个软连接到/usr/bin目录下 。
执行命令: ln -s /usr/local/mysql/bin/mysql /usr/bin
其中/usr/local/mysql 为:mysql的安装路径
或者在命令行打出这行命令:
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin