安装

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
在下载地址下载对应版本与系统位数的MySQL到本地,如果网速慢可以先下载到本地再使用ftp传到linux
这里在/usr/local文件夹下面进行安装

  1. cd /usr/local/
  2. tar -zxvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
  3. mv mysql-5.7.32-linux-glibc2.12-x86_64 mysql // 将解压文件剪切到mysql文件夹中

创建用户与组

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

创建mysql的数据文件夹

  1. cd mysql
  2. mkdir data
  3. chown mysql:mysql -R /usr/local/mysql/data // 赋予权限

配置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=/usr/local/mysql/data
  7. socket=/tmp/mysql.sock
  8. log-error=/usr/local/mysql/data/mysql.err
  9. pid-file/usr/local/mysql/data/mysql.pid
  10. #character config
  11. character_set_server=utf8mb4
  12. symbolic-links=0
  13. explicit_defaults_for_timestamp=true

初始化

  1. bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

设置开机启动

  1. cp ./support-files/mysql.server /etc/init.d/mysql
  2. chmod +x /etc/init.d/mysql
  3. chkconfig --add mysql // 注册开机启动
  4. chkconfig --list mysql // 查看是否开机启动

开启mysql

  1. #/etc/init.d/mysql start 或者 service mysql start 或者 bin/mysqld_safe&
  2. #/etc/init.d/mysql stop 或者 service mysql stop 或者 bin/mysqladmin -uroot -p

报错

如果启动报错:Starting MySQL…The server quit without updating PID file [FAILED]cal/mysql/data/mysql.pid).
到data目录下找到mysql.err打开
socket问题:https://blog.csdn.net/hjf161105/article/details/78850658

重置密码并设置非本机连接

  1. vim /etc/my.cnf //在[mysqld]中添加 skip-grant-tables 跳过密码验证
  2. /etc/init.d/mysql restart // 重启mysql
  3. whereis mysql // 查看mysql路径
  4. ./mysql // 进入mysql
  5. use mysql;
  6. //表的字段不同更新语句不同
  7. update user set authentication_string=password('root') where user='root'; 或者 update user set password=password("你的新密码") where user="root";
  8. update user set host = '%' where user ='root'; //设置非本地连接,如果只允许一个ip可以将%改为ip地址
  9. flush privileges; // 立即生效
  10. quit;
  11. vim /etc/my.cnf //去除添加的一行 skip-grant-tables
  12. service mysql restart;
  13. ./mysql -u root -p //连接MySQL

数据库报错

如果数据库语句报错:You must reset your password using ALTER USER statement before executing this statement.

  1. ALTER USER USER() IDENTIFIED BY '密码'; // 修改临时密码

开放安全组策略

  1. 阿里云--控制台--云服务器ecs--实例--点击实例进入实例详情,在页面中找到安全组策略

卸载mysl

  1. find / -name mysql
  2. rm -rf /usr/lib/mysql/ // 删除mysql文件夹

docker安装

官网:https://hub.docker.com/_/mysql

  1. docker pull mysql 8.0.27

运行,加了-v之后因为挂载文件夹没有配置密码,密码无效,直接登录即可

  1. docker run -p 3306:3306 --name mysql \
  2. -v /data/mysql/log:/var/log/mysql \
  3. -v /data/mysql/data:/var/lib/mysql \
  4. -v /data/mysql/conf:/etc/mysql \
  5. -v /home/mysql/mysql-files:/var/lib/mysql-files/ \
  6. -e MYSQL_ROOT_PASSWORD=password \
  7. -d -it mysql:8.0.27

进入容器

  1. docker exec -it mysql bash

sql语句

  1. mysql -u root -p

navicat连接:https://www.yuque.com/yuegui/ak6swy/wgxqg0

引用

https://www.freesion.com/article/5370939617/