Docker搭建MySQL服务
在线安装MySql
前面我们已经安装好了Docker,也简单了解了Docker。那么我们可以尝试搭建一个MySQL服务。
查看Docker MySQL文档
MySQL文档地址: https://hub.docker.com/_/mysql/
详细步骤
1. 拉取MySQL镜像
命令:sudo docker pull mysql
2. 查看下载镜像
命令:sudo docker images
3.创建并启动一个MySQL容器
命令:sudo docker run --name pwc-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
- –name:给新创建的容器命名,此处命名为pwc-mysql
- -e:配置信息,此处配置mysql的root用户的登陆密码
- -p:端口映射,此处映射主机3306端口到容器pwc-mysql的3306端口
- -d:成功启动容器后输出容器的完整ID
- 最后一个mysql指的是mysql镜像名字
4.查看容器运行状态
命令:sudo docker ps
5.测试连接MySQL
6.启动关闭mysql
启动命令:
$ sudo docker start pwc-mysql //通过指定容器名字
$ sudo docker start b6660811bd7d //通过指定容器ID
停止命令:
$ sudo docker stop pwc-mysql //通过指定容器名字
$ sudo docker stop b6660811bd7d //通过指定容器ID
离线安装MySql
安装MySql5.7
1 从mysql官网上下载自己适合的mysql版本
https://dev.mysql.com/downloads/mysql/5.6.html#downloads
,进入mysql官网,依次点击
2 解压文件
将下载好的mysql压缩文件放置在linux的/usr/local文件夹下,解压该压缩文件
tar -zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
将解压后的文件重命名为mysql
mv mysql-5.6.43-linux-glibc2.12-x86_64 mysql
3 创建mysql用户组及用户
groupadd mysql
useradd -r -g mysql mysql
4 进入到mysql目录,执行添加MySQL配置的操作
cp support-files/my-medium.cnf /etc/my.cnf
是否覆盖?按y 回车
5 编辑/etc/my.cnf文件
vi /etc/my.cnf
在my.cnf文件中添加或者修改相关配置,更改完成后保存退出
6 在mysql当前目录下设定目录的访问权限(注意后面的小点,表示当前目录)
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
运行scripts/mysql_install_db --user=mysql
可能会报一下错误
FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:
Data::Dumper
网上提供解决方法是安装autoconf库
yum-y install autoconf
结果又出现一下错误
Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
原因为:缺少libaio库文件
解决方法:yum -y install numactl
将上述命令输入完即可
7 初始化数据
在mysql/scripts下有个 mysql_install_db 可执行文件初始化数据库),进入mysql/scripts目录下,执行下面命令
./mysql_install_db --verbose --user=root --defaults-file=/etc/my.cnf --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --pid-file=/usr/local/mysql/data/mysql.pid --tmpdir=/tmp
8 启动mysql
进入/usr/local/mysql/bin目录,执行下面命令
./mysqld_safe --defaults-file=/etc/my.cnf --socket=/tmp/mysql.sock --user=root &lb
注意,如果光标停留在屏幕上,表示启动成功,需要我们先关闭shell终端,再开启一个新的shell终端.
9 设置开机启动
新开启shell中断后,进入mysql目录,执行下面命令
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
chmod 700 /etc/init.d/mysql
chkconfig --add mysqld
chkconfig --level 2345 mysqld on
chown mysql:mysql -R /usr/local/mysql/
10 重启linux
reboot
11 查看mysql状态
service mysqld status
显示以下界面,显示安装成功
SUCCESS! MySQL running (1522)
12 添加远程访问权限
(1) 添加mysql命令
ln -s /usr/local/mysql/bin/mysql /usr/bin (mysql的安装路径)
(2) 更改访问权限
登录mysql,执行下面命令
mysql -uroot -p
密码为空直接回车,运行以下两条命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'duan' with grant option;
Flush privileges;
(3) 退出mysql
13 更改密码
本机访问mysql,root账户默认是没有密码的,端口号默认3306,如果需要修改root账户密码,在/usr/local/mysql/bin目录下,执行下面命令
./mysqladmin -h 127.0.0.1 -P3306 -uroot password 'duan'exit