当前位置:   article > 正文

Linux(Centos) 安装 mysql8.0.22_liunx centos 安装mysql8.0.22

liunx centos 安装mysql8.0.22
  1. 1.mysql官方下载Linux版本,我这里下载的是: mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz(注:不同压缩包,存在解压命令的不同)
  2. 注: mysql官网提供了不同版本的linux, 我这里下载的是 Linux - Generic(通用版)
2.将压缩包扔到Linux的 /usr/local文件夹中
3.使用解压命令解压: tar xvf /usr/local/mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz
4.重命名解压后得到的文件夹, 名称变更为 mysql  (mysql一些默认配置里Linux访问路径为:/usr/local/mysql, 直接重命名后,后续一些地方则不需要更改)
  1. 6.进入被重命名过的文件夹中,再创建一个文件夹,取名:data
  2. (1) cd /usr/local/mysql
  3. (2) mkdir data
  1. 7.创建 /etc/my.cnf . 看其他博友说的,好像是8.0这个版本通过二进制文件解压安装的话是不存在的. 这里手动创建一个
  2. (1) vi /etc/my.cnf
  3. (2)复制以下内容进去:
  4. [mysqld]
  5. port=3306
  6. basedir=/usr/local/mysql
  7. datadir=/usr/local/mysql/data
  8. max_connections=10000
  9. max_connect_errors=10
  10. character-set-server=UTF8MB4
  11. default-storage-engine=INNODB
  12. lower_case_table_names=1
  13. sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
  14. 文字说明:
  15. (需要修改的地方:
  16. basedir: 使用给定目录作为根目录(安装目录)
  17. datadir: 从给定目录读取数据库文件,存储mysql数据文件夹
  18. 重要的两个:
  19. lower_case_table_names: 值为1,忽略大小写,即查询时候不分大小写(一旦设置并启动后,再更改比较烦,慎重)
  20. sql_mode: (sql中select后面的字段必须出现在group by后面,或者被聚合函数包裹,不然会抛出上面的错误,允许使用 GROUP BY 函数)
  21. (3)按键盘左上角 ESC键 -> :wq (保存文件)
  22. 注:
  23. 本机存在/etc/my.cnf文件的话, 如果你对mysql设置不太熟悉, 直接复制我这一段进去覆盖原文全部内容
  1. 8.创建mysql用户, 进行授权
  2. 1: 创建mysql用户,用户组(将mysql用户放进用户组内)
  3. (1): groupadd mysql
  4. (2): useradd -g mysql mysql
  5. 2: 授权
  6. (1) chown -R mysql.mysql /usr/local/mysql
  7. (2) chmod 755 /usr/local/mysql
  8. (3) chmod 644 /etc/my.cnf
  1. 9. 生成mysql基础数据
  2. (1) cd /usr/local/mysql/bin
  3. (2) 生成mysql数据库基础数据: ./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lower_case_table_names=1 --initialize
  4. 文字说明:
  5. --user=mysql : 指定运行mysqld进程的用户名。可更改,主要为了后续添加多个mysql管理员时方便
  6. --basedir=/usr/local/mysql: 安装目录
  7. --datadir=/usr/local/mysql/mysql-files: 数据存放目录
  8. --lower_case_table_names=1: 不区分大小写(这个根据自己需求来,可以先搜索看看)
  9. 注:
  10. 1.该命令运行后, 会产生一个临时登录密码, 在返回结果的最后一行(可搜索看看)
  11. 2.执行该命令时, 可能会报错: ./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
  12. 3.解决办法(可选) | 下面两个我自己在执行完第一个命令之后就可以了:
  13. (1)安装numactl. 我的linux系统是Centos的, 执行命令: yum -y install numactl
  14. (2)安装libaio. 我的linux系统是Centos的, 执行命令: yum install -y libaio
  15. 4.安装完成后, 再次执行上面的 "生成mysql数据库基础数据" 命令即可
  16. 5.命令执行后, 记得将最后一行的临时登录密码记录下来, 后续会被使用到
  1. 10.添加mysql服务到系统,并完成授权
  2. (1) cd /usr/local/mysql
  3. (2) cp -a ./support-files/mysql.server /etc/init.d/mysql
  4. (3) chmod +x /etc/init.d/mysql
  5. (4) chkconfig --add mysql
  1. 11. mysql启动: service mysql start
  2. mysql状态查看: service mysql status
  1. 12. mysql登录
  2. (1) mysql -uroot -p
  3. (2) 需要输入的密码是 第9步中运行生成基础数据后, 返回结果中给出的临时密码
  4. 注:
  5. (1) 执行 mysql -uroot -p 时可能报错: -bash: mysql: command not found
  6. (2) 解决办法 | 执行命令: /usr/local/mysql/bin/mysql restart
  7. (3) 执行命令后, 再次输入 mysql -uroot -p
  1. 13. 修改密码
  2. (1) ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxx'; (xxxx - 这里需要自己设置密码)
  3. (2) flush privileges; (密码生效)
  1. 14. 允许远程连接
  2. (1) use mysql;
  3. (2) update user set host='%' where user='root';
  4. (3) flush privileges;
  5. 注:
  6. (1): 成功执行后, 表明该mysql已经启动了远程连接登录. 如果这时候你使用工具进行连接时候是失败的, 你需要查看下你的服务器安全组是否开放了3306(mysql连接默认端口)端口
  1. 15.设置mysql, 开机自启动
  2. (1) 复制mysql安装目录下的mysql.server : cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
  3. (2) 赋予权限:chmod +x /etc/init.d/mysqld
  4. (3) 添加服务: chkconfig --add mysqld
  5. (4) 查看服务列表: chkconfig --list
  6. 注:
  7. 1. mysql安装目录为: /usr/lcoal/mysql - 执行第一个命令时,注意路径
  8. 2. 执行(4)后, 看到mysql行数据 - 3,4,5都为"开""on"表示成功

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/301349
推荐阅读
相关标签
  

闽ICP备14008679号