Linux(Centos) 安装 mysql8.0.22

1.mysql官方下载Linux版本,我这里下载的是: mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz(注:不同压缩包,存在解压命令的不同)

注: 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, 直接重命名后,后续一些地方则不需要更改)
6.进入被重命名过的文件夹中,再创建一个文件夹,取名:data
  (1) cd /usr/local/mysql
  (2) mkdir data
7.创建 /etc/my.cnf . 看其他博友说的,好像是8.0这个版本通过二进制文件解压安装的话是不存在的. 这里手动创建一个

(1) vi /etc/my.cnf

(2)复制以下内容进去:
[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
max_connections=10000
max_connect_errors=10
character-set-server=UTF8MB4
default-storage-engine=INNODB
lower_case_table_names=1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

文字说明:
(需要修改的地方: 
basedir: 使用给定目录作为根目录(安装目录)
datadir: 从给定目录读取数据库文件,存储mysql数据文件夹
重要的两个:
lower_case_table_names: 值为1,忽略大小写,即查询时候不分大小写(一旦设置并启动后,再更改比较烦,慎重)
sql_mode: (sql中select后面的字段必须出现在group by后面,或者被聚合函数包裹,不然会抛出上面的错误,允许使用 GROUP BY 函数)

(3)按键盘左上角 ESC键 -> :wq (保存文件)

注:
本机存在/etc/my.cnf文件的话, 如果你对mysql设置不太熟悉, 直接复制我这一段进去覆盖原文全部内容

8.创建mysql用户, 进行授权
 1: 创建mysql用户,用户组(将mysql用户放进用户组内)
  (1): groupadd mysql
  (2): useradd -g mysql mysql
 2: 授权
  (1) chown -R mysql.mysql /usr/local/mysql
  (2) chmod 755 /usr/local/mysql
  (3) chmod 644 /etc/my.cnf
9. 生成mysql基础数据
  (1) cd /usr/local/mysql/bin

  (2) 生成mysql数据库基础数据: ./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lower_case_table_names=1 --initialize 

文字说明:
--user=mysql : 指定运行mysqld进程的用户名。可更改,主要为了后续添加多个mysql管理员时方便
--basedir=/usr/local/mysql: 安装目录
--datadir=/usr/local/mysql/mysql-files: 数据存放目录
--lower_case_table_names=1: 不区分大小写(这个根据自己需求来,可以先搜索看看)

注: 
1.该命令运行后, 会产生一个临时登录密码, 在返回结果的最后一行(可搜索看看)
2.执行该命令时, 可能会报错: ./mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory
3.解决办法(可选) | 下面两个我自己在执行完第一个命令之后就可以了: 
    (1)安装numactl. 我的linux系统是Centos的, 执行命令: yum -y install numactl 
    (2)安装libaio.  我的linux系统是Centos的, 执行命令: yum install -y libaio
4.安装完成后, 再次执行上面的 "生成mysql数据库基础数据" 命令即可
5.命令执行后, 记得将最后一行的临时登录密码记录下来, 后续会被使用到
10.添加mysql服务到系统,并完成授权
   (1) cd /usr/local/mysql
   (2) cp -a ./support-files/mysql.server /etc/init.d/mysql
   (3) chmod +x /etc/init.d/mysql
   (4) chkconfig --add mysql
11. mysql启动: service mysql start
    mysql状态查看: service mysql status
12. mysql登录  
    (1) mysql -uroot -p 
    (2) 需要输入的密码是 第9步中运行生成基础数据后, 返回结果中给出的临时密码

注:
(1) 执行 mysql -uroot -p 时可能报错: -bash: mysql: command not found
(2) 解决办法 | 执行命令: /usr/local/mysql/bin/mysql restart
(3) 执行命令后, 再次输入 mysql -uroot -p
13. 修改密码
    (1) ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'xxxx'; (xxxx - 这里需要自己设置密码)  
    (2) flush privileges; (密码生效)
14. 允许远程连接
    (1) use mysql;
    (2) update user set host='%' where user='root'; 
    (3) flush privileges;

注:
(1): 成功执行后, 表明该mysql已经启动了远程连接登录. 如果这时候你使用工具进行连接时候是失败的, 你需要查看下你的服务器安全组是否开放了3306(mysql连接默认端口)端口
15.设置mysql, 开机自启动
   (1) 复制mysql安装目录下的mysql.server : cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
   (2) 赋予权限:chmod +x /etc/init.d/mysqld
   (3) 添加服务: chkconfig --add mysqld
   (4) 查看服务列表:  chkconfig --list

注: 
1. mysql安装目录为: /usr/lcoal/mysql - 执行第一个命令时,注意路径
2. 执行(4)后, 看到mysql行数据  - 3,4,5都为"开"或"on"表示成功

  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值