(记录)Centos7下安装Mysql8.0的过程以及遇到的问题

下载安装包

        官网地址:MySQL :: Download MySQL Community Server

        

安装完成后,将压缩包传到Linux中的 /usr/local 目录下。

安装步骤

        1.解压

tar -vxJf mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

        2. 移动并重命名解压后的mysql-8.0.27-linux-glibc2.12-x86_64文件夹到 /usr/local/mysql8.0/             目录下

mv mysql-8.0.27-linux-glibc2.12-x86_64 /usr/local/mysql8.0

        3. 添加用户组

groupadd mysqluser

        4. 创建用户并添加到用户组

useradd -r -g mysqluser mysqluser

        5. 在/usr/local/mysql8.0/文件夹下创建data、log目录用于存放数据和日志

mkdir data 
mkdir log

        6. 更改mysql8.0文件夹的所有者为mysqluser用户/组

                chown -R mysqluser.mysqluser /usr/local/mysql8.0

                注:最好创建好 data、log这两个目录后再赋权限,否则启动mysql时会提示没有这两个目录的权限,还需要在执行一次这个命令。

        7. 在/etc目录下创建my.cnf配置文件(如果已有配置文件,直接编辑即可)

        vi /ect/my.cnf

[mysqld]
#表名不区分大小写
lower_case_table_names=1

#跳过验证
#skip-grant-table

#默认存储引擎
default-storage-engine=InnoDB 
 
#用户
user = mysqluser
 
#默认端口  
port = 3306
 
#socket通信
socket=/tmp/mysql.sock
 
#mysql的安装目录
basedir=/usr/local/mysql8.0
 
#数据文件
datadir=/usr/local/mysql8.0/data
 
#允许最大连接数 
max_connections=512
 
#等待关闭连接时间
wait_timeout=600
 
#服务端字符集
character-set-server=utf8mb4
 
#错误日志
log-error=/usr/local/mysql8.0/log/error.log

        完成后点击 esc 退出编辑模式,接着输入 shift+:  ,最后 输入 wq 保存退出

        (q! 不保存退出)  ,如果在编辑模式下不正常退出,再次编辑my.cnf 时会出错,删除

             my.cnf.swp 文件即可再次进入编辑(rm -rf my.cnf.swp)

注:mysql8.0以后的版本,在linux下表名严格区分大小写,可以在配置文件中加入 lower_case_table_names=1 来取消大小写区分,但是需要在mysql初始化前就加入,初始化后加入,会导致mysql无法启动。查询资料后发现,mysql8.0及以上版本,初始化后,配置文件无法修改。基于此特性,最好把 skip-grant-table 这行代码也加上,防止以后忘记密码,可以跳过密码验证直接登录mysql,但是需要注意的是,在初始化时,要把这行代码注释掉,否则无法进行初始化(后续打开这行代码有没有生效没试过)。其他一些配置根据项目的需求进行设置。

        8. 初始化MySQL

有密码初始化: --initialize
无密码初始化: --initialize -insecure

建议使用无密码初始化,防止忘记密码。

 配置环境变量

vi /etc/profile
/**
*  在文件末尾加上 export PATH=$PATH:/usr/local/mysql8.0/bin
*
*  然后执行 source /etc/profile 命令 刷新环境变量配置文件
*/

设置MySQL开机自启

// 复制脚本到资源目录
cp -a /usr/local/mysql8.0/support-files/mysql.server /etc/rc.d/init.d/mysqld

// 授权
chmod +x /etc/rc.d/init.d/mysqld

// 添加为服务
chkconfig --add mysqld

启动MySQL:

        service mysqld start

        见到:Starting MySQL....... SUCCESS!  即表示启动成功。

登录MySQL

mysql -u root -p

/**
* 回车后提示需要输入密码,如果初始化时使用了 无密码初始化,在这里再敲一次回车键即可。初始化时
* 使用了有密码初始化,在这里输出密码即可。
*
* 实验中使用的是 无密码初始化,此处再次点击回车键。
*
*/

        1. 修改root密码

// 修改 root 用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '2021@Root';

// 创建用户并允许远程连接( @'%'  表示 允许所有ip连接)
CREATE USER 'testUser'@'%' IDENTIFIED WITH mysql_native_password BY '2021@testUser';

// 给 testUser 用户授权
grant execute ,insert,select ,update on 数据库名称.* to 'testUser'@'%';

// 刷新
FLUSH PRIVILEGES;

                注:由于mysql8.0默认的密码加密规则的原因,在创建/修改用户密码是 需要指定密码

                        加密规则(mysql_native_password )否则使用 Navicat 时会报错。

完成

        最后使用 Navicat 连接mysql。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值