Linux上安装MySQL8详细教程

1、卸载系统自带的mariadb

bash 复制代码
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
rpm -qa | grep mariadb
  1. 创建mysql组和用户
  • 创建mysql组并创建mysql系统用户并加入mysql组
bash 复制代码
groupadd mysql
useradd -r -g mysql mysql
cat /etc/group |grep mysql
cat /etc/passwd | grep mysql
  1. 将mysql8安装文件上传至虚拟机,并解压
bash 复制代码
tar xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
  1. 将解压的mysql-8.0.19-xxx文件夹移动到/usr/local下并重命名为mysql
bash 复制代码
mv mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/mysql
  1. 在/usr/local/mysql目录下创建data目录
  2. 更改mysql目录权限
bash 复制代码
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
  1. 初始化和启动mysql
    1)进入bin目录
    2)执行初始化命令,记住临时密码
bash 复制代码
cd bin

./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower-case-table-names=1

3)vi /etc/my.cnf文件

bash 复制代码
[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
log_error=/usr/local/mysql/data/error.log
lower_case_table_names=1

4)启动mysql服务

bash 复制代码
cd /usr/local/mysql/support-files/
./mysql.server start
  1. 修改MySQL密码
    1)进入mysql下bin目录,执行
    ./mysql -u root -p回车后输入初始化后获得的临时密码
    2)修改本地登录的密码
bash 复制代码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
mysql> flush privileges;
mysql> exit;

3)开放远程连接,修改远程登录的密码

用新密码重新进入mysql客户端,执行下列命令

bash 复制代码
mysql> use mysql;
mysql> update user set user.Host='%' where user.User='root';
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
mysql> flush privileges;
mysql> exit;

注意:在远程连接之前请关闭防火墙

systemctl stop firewalld

相关推荐
Flynt3 小时前
"MySQL搜不动就上ES"?我先在50万行数据上测了它自带的ngram全文索引
mysql·elasticsearch·搜索引擎
律宏阔3 小时前
WSL Docker 端口明明空闲,但就是绑不上端口
linux·windows
律宏阔3 小时前
WSL 突然断网,无法 ping 内网或外网
linux·windows
穷人小水滴3 小时前
用容器编译 VirtualBox 虚拟机软件 (ArchLinux, podman)
linux·容器·virtualbox
_祝你今天愉快3 小时前
UI核心 - UI绘制流程及原理
android
mmsx3 小时前
Android 一个设备多个 App 抢:跨进程共享服务的架构设计
android·kotlin·app
imDwAaY3 小时前
Redo Log 和 Binlog 为什么需要两阶段提交?
后端·mysql
数据库小学妹3 小时前
MySQL深分页优化:LIMIT大偏移的根因分析与五种解法对比
数据库·mysql·性能优化
乱码三千3 小时前
如何优雅地直连无公网 IP 的远程 GPU 服务器
linux·人工智能·程序员
yunwei373 小时前
使用 eBPF 跟踪 Nginx 请求
linux·后端·性能优化