在线安装MySql

前面我们已经安装好了Docker,也简单了解了Docker。那么我们可以尝试搭建一个MySQL服务。

查看Docker MySQL文档

MySQL文档地址: https://hub.docker.com/_/mysql/

详细步骤

1. 拉取MySQL镜像

命令:sudo docker pull mysql

image.png

2. 查看下载镜像

命令:sudo docker images

image.png

3.创建并启动一个MySQL容器

命令:sudo docker run --name pwc-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql

image.png

  • –name:给新创建的容器命名,此处命名为pwc-mysql
  • -e:配置信息,此处配置mysql的root用户的登陆密码
  • -p:端口映射,此处映射主机3306端口到容器pwc-mysql的3306端口
  • -d:成功启动容器后输出容器的完整ID
  • 最后一个mysql指的是mysql镜像名字

4.查看容器运行状态

命令:sudo docker ps
image.png
上图可以看到容器的简写ID,容器的源镜像,创建时间,状态,端口映射信息,容器名字等

5.测试连接MySQL

image.png

6.启动关闭mysql

启动命令:

  1. $ sudo docker start pwc-mysql //通过指定容器名字
  2. $ sudo docker start b6660811bd7d //通过指定容器ID

停止命令:

  1. $ sudo docker stop pwc-mysql //通过指定容器名字
  2. $ sudo docker stop b6660811bd7d //通过指定容器ID

image.png

离线安装MySql

安装MySql5.7

1 从mysql官网上下载自己适合的mysql版本

https://dev.mysql.com/downloads/mysql/5.6.html#downloads,进入mysql官网,依次点击
image.png

2 解压文件

将下载好的mysql压缩文件放置在linux的/usr/local文件夹下,解压该压缩文件

  1. tar -zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz

将解压后的文件重命名为mysql

  1. mv mysql-5.6.43-linux-glibc2.12-x86_64 mysql

3 创建mysql用户组及用户

  1. groupadd mysql
  2. useradd -r -g mysql mysql

4 进入到mysql目录,执行添加MySQL配置的操作

  1. cp support-files/my-medium.cnf /etc/my.cnf

image.png
是否覆盖?按y 回车

5 编辑/etc/my.cnf文件

  1. vi /etc/my.cnf

在my.cnf文件中添加或者修改相关配置,更改完成后保存退出

image.png

6 在mysql当前目录下设定目录的访问权限(注意后面的小点,表示当前目录)

  1. chown -R mysql .
  2. chgrp -R mysql .
  3. scripts/mysql_install_db --user=mysql
  4. chown -R root .
  5. chown -R mysql data

运行scripts/mysql_install_db --user=mysql可能会报一下错误

  1. FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:
  2. Data::Dumper

网上提供解决方法是安装autoconf库

  1. yum-y install autoconf

结果又出现一下错误

  1. 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目录下,执行下面命令

  1. ./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目录,执行下面命令

  1. ./mysqld_safe --defaults-file=/etc/my.cnf --socket=/tmp/mysql.sock --user=root &lb

注意,如果光标停留在屏幕上,表示启动成功,需要我们先关闭shell终端,再开启一个新的shell终端.

9 设置开机启动

新开启shell中断后,进入mysql目录,执行下面命令

  1. cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
  2. cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
  3. chmod 700 /etc/init.d/mysql
  4. chkconfig --add mysqld
  5. chkconfig --level 2345 mysqld on
  6. chown mysql:mysql -R /usr/local/mysql/

10 重启linux

  1. reboot

11 查看mysql状态

  1. service mysqld status

显示以下界面,显示安装成功

  1. SUCCESS! MySQL running (1522)

12 添加远程访问权限

(1) 添加mysql命令

  1. ln -s /usr/local/mysql/bin/mysql /usr/bin mysql的安装路径)

(2) 更改访问权限

  1. 登录mysql,执行下面命令
  2. mysql -uroot -p
  3. 密码为空直接回车,运行以下两条命令
  4. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'duan' with grant option;
  5. Flush privileges;

(3) 退出mysql

13 更改密码

本机访问mysql,root账户默认是没有密码的,端口号默认3306,如果需要修改root账户密码,在/usr/local/mysql/bin目录下,执行下面命令

  1. ./mysqladmin -h 127.0.0.1 -P3306 -uroot password 'duan'exit

14 测试

image.png