一、安装介绍

1.1、下载镜像安装

  1. $ docker pull mysql:5.7.34

1、配置文件

将全部的配置文件和关联的文件夹统一放到/opt/docker-mysql中

  1. $ mkdir -p /opt/docker-mysql/conf.d

增加并修改配置文件config-file.cnf
内容如下,设置表名不区分大小写; linux下默认是区分的,windows下默认不区分

  1. [mysqld]
  2. # 表名不区分大小写
  3. lower_case_table_names=1
  4. #server-id=1
  5. datadir=/var/lib/mysql
  6. #socket=/var/lib/mysql/mysqlx.sock
  7. #symbolic-links=0
  8. # sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  9. [mysqld_safe]
  10. log-error=/var/log/mysqld.log
  11. pid-file=/var/run/mysqld/mysqld.pid

2、启动

增加数据文件夹

  1. $ mkdir -p /opt/docker-mysql/var/lib/mysql

启动,设置默认密码 123456,TZ 设置容器的默认时区

  1. $ docker run --name mysql \
  2. --restart=always \
  3. -p 3306:3306 \
  4. -v /opt/docker-mysql/conf.d:/etc/mysql/conf.d \
  5. -v /opt/docker-mysql/var/lib/mysql:/var/lib/mysql \
  6. -e MYSQL_ROOT_PASSWORD=123456 \
  7. -e TZ=Asia/Shanghai \
  8. -d mysql:5.7.34

1.2、解压安装:

CSDN原链接
下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

1、解压

  1. tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar

image.png
再移动并重命名一下

  1. mv mysql-5.7.26-linux-glibc2.12-x86_64 /usr/local/mysql

2、创建mysql用户组和用户并修改权限

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

创建数据目录并赋予权限

  1. mkdir -p /data/mysql #创建目录
  2. chown mysql:mysql -R /data/mysql #赋予权限

配置my.cnf

  1. vim /etc/my.cnf
  1. [mysqld]
  2. bind-address=0.0.0.0
  3. port=3306
  4. user=mysql
  5. basedir=/usr/local/mysql
  6. datadir=/data/mysql
  7. socket=/tmp/mysql.sock
  8. log-error=/data/mysql/mysql.err
  9. pid-file=/data/mysql/mysql.pid
  10. #character config
  11. character_set_server=utf8mb4
  12. symbolic-links=0
  13. explicit_defaults_for_timestamp=true

3、初始化数据库

进入mysql的bin目录

  1. cd /usr/local/mysql/bin/

初始化

  1. ./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize

初始话有问题可以执行yum install -y libaio
查看密码

  1. cat /data/mysql/mysql.err

4、启动mysql,并更改root 密码

先将mysql.server放置到/etc/init.d/mysql中

  1. cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

启动!!!

  1. service mysql start
  2. ps -ef|grep mysql

到这里说明mysql已经安装成功了!!
下面修改密码
首先登录mysql,前面的那个是随机生成的。

  1. ./mysql -u root -p #bin目录下

再执行下面三步操作,然后重新登录。

  1. SET PASSWORD = PASSWORD('123456');
  2. ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
  3. FLUSH PRIVILEGES;

远程链接还需要执行下面三个命令(先登录数据库)

  1. use mysql #访问mysql库
  2. update user set host = '%' where user = 'root'; #使root能再任何host访问
  3. FLUSH PRIVILEGES; #刷新

如果不希望每次都到bin目录下使用mysql命令则执行以下命令

  1. ln -s /usr/local/mysql/bin/mysql /usr/bin

二、常用命令

1、查看死锁,解除死锁的方式

  1. 1.查看下在锁的事务
  2. SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
  3. 2.杀死进程id(就是上面命令的trx_mysql_thread_id列)
  4. kill 线程ID