Centos7如何安装MySQL8.0
- 下载MySQL8.0
进入官网:MySQL :: Download MySQL Community Server
选中红色方框的选项。
点击No thanks, just start my download. 进入下载
- 上传至Linux系统放到 /usr/local 目录下
- 输入指令解压到当前目录
[root@xiaohongmao local]# tar -xvf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz
·tar -xvf 可以解压tar.xz后缀的压缩文件
·tar -zxvf 可以解压tar.gz后缀的压缩文件
- 重命名文件为mysql8.0(这里也可以选择创建一个名为mysql-8.0的软连接指向文件)
[root@xiaohongmao local]# mv mysql-8.0.32-linux-glibc2.12-x86_64 mysql-8.0
- 创建data文件夹,储存文件
[root@xiaohongmao local]# cd mysql-8.0/
[root@xiaohongmao mysql-8.0]# mkdir data
- 创建用户组以及用户
创建mysql组,在创建mysql用户,并将mysql用户添加到mysql组中
[root@xiaohongmao mysql-8.0]# groupadd mysql
[root@xiaohongmao mysql-8.0]# useradd -g mysql mysql
- 授权用户
将mysql-8.0文件夹的所有者和所属组都改为mysql
[root@xiaohongmao mysql-8.0]# chown -R mysql.mysql /usr/local/mysql-8.0
- Mysql初始化
进入bin目录下执行mysqld文件进行初始化
[root@xiaohongmao bin]# ./mysqld --user=mysql --basedir=/usr/local/mysql-8.0 --datadir=/usr/local/mysql-8.0/data/ --initialize
最后红色方框里是随机生成的密码,记得复制
- 编辑my.cnf
[root@xiaohongmao bin]# vim /etc/my.cnf
注释掉mysqld_safe和下面2条内容 ,修改basedir datadir socket信息
- 添加mysqld服务
返回mysql-8.0目录下,添加mysqld服务到系统
[root@xiaohongmao bin]# cd ..
[root@xiaohongmao mysql-8.0]# cp -a ./support-files/mysql.server /etc/init.d/mysql
- 授权以及添加服务
[root@xiaohongmao mysql-8.0]# chmod +x /etc/init.d/mysql
[root@xiaohongmao mysql-8.0]# chkconfig --add mysql
- 启动mysql
[root@xiaohongmao mysql-8.0]# service mysql start
SUCCESS代表启动mysql成功
- 查看启动状态
[root@xiaohongmao mysql-8.0]# service mysql status
- 将mysql命令添加至服务
[root@xiaohongmao mysql-8.0]# ln -s /usr/local/mysql-8.0/bin/mysql /usr/bin
- 登录mysql
[root@xiaohongmao mysql-8.0]# mysql -uroot -p
粘贴之前随机生成的密码,回车。
- 修改root密码
将root用户密码改成自己设定的密码。
# 将root密码修改为123456,别忘了最后有分号。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
# 然后刷新权限,使密码生效
mysql> flush privileges;
- 修改远程连接并生效
选中mysql数据库。
mysql> use mysql;
设置允许远程连接并生效
mysql> update user set host='%' where user='root';
root表示想要被连接的数据库的用户名,其中“%”表示允许所有机器能访问root用户。
mysql> flush privileges;
- 开放防火墙3306端口
到这里mysql已经可以本地连接上了,但是要用图形化界面远程连接,还需要开发防火墙的3306端口才行
--permanent代表永久生效,否则重启linux后则需要再次开启。
[root@xiaohongmao mysql-8.0]# firewall-cmd --add-port=3306/tcp --permanent
success
[root@xiaohongmao mysql-8.0]# firewall-cmd --reload
success
查看防火墙端口开放状态
[root@xiaohongmao mysql-8.0]# firewall-cmd --list-all
在ports一项出现3306端口,代表可以使用图形化界面远程连接了。