这篇文章主要是针对新手的,所以写的比较详细,并且根据自己在安装时出现的情况以及如何对应解决。下载mysql安装包 安装包可以到MySQL官网去获取下载链接:https://dev.mysql.com/downloads/mysql/ ; 请根据自己的系统下载对应版本,如果是64位就下载64位版本。 MySQL 版本wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz 下载mysql 2.解压版本到指定目录 首先创建新建一个文件夹,如我把新建的文件夹放在/opt目录下mkdir /opt/mydata 然后把下载下来的版本解压到该创建的文件夹下tar -xvf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz -C /opt/mydata 解压安装包到指定目录 3.更改文件名称为mysql 解压在mydata目录下的文件夹名是:mysql-8.0.30-linux-glibc2.12-x86_64cd /opt/mydata mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql 4.添加用户组 、添加用户到用户组并设置密码groupadd mysql useradd -g mysql mysql passwd mysql 设置你的密码 添加用户组并设置密码 5.创建mysql数据存储文件夹并赋予权限mkdir -p /opt/mydata/mysql/data chown -R mysql.mysql /data/mysql 6.初始化mysqlcd /opt/mydata/mysql/bin ./mysqld --user=mysql --basedir=/opt/mydata/mysql --datadir=/opt/mydata/mysql/data/ --initialize --lower-case-table-names=1 //初始化之后会生成临时密码由大小写字母符号及数字组成,复制出来到文本文档中,后面会用到 初始化mysql 7.创建mysql配置文件 创建my.cnf文件touch /opt/mydata/mysql/my.cnf 编辑文件:vim /opt/mydata/mysql/my.cnf [mysqld] user=mysql #设置mysql的安装目录 basedir=/opt/mydata/mysql/ #设置mysql数据库的数据的存放目录 datadir=/opt/mydata//mysql/data # 设置客户端默认字符集 character-set-server=utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 设置是否区分大小写(初始化后此参数在这里也必须存在) lower_case_table_names=1 # 默认使用"mysql_native_password"插件认证 default_authentication_plugin=mysql_native_password socket=/tmp/mysql.sock server_id=6 port=3306 [mysql] socket=/tmp/mysql.sock 8.创建systemctltouch /etc/systemd/system/mysqld.service 编辑vim /etc/systemd/system/mysqld.service //以下为mysqld.service内容 [Unit] Description=MySQL Server Documentation=mysqld.service After=network.target After=syslog.target [Install] WantedBy=multi-user.target [Service] User=mysql Group=mysql ExecStart=/opt/mydata/mysql/bin/mysqld --defaults-file=/opt/mydata/mysql/my.cnf LimitNOFILE = 5000 9.启动mysql服务systemctl start mysqld.service 10.登录mysql/opt/mydata/mysql/bin/mysql -u root -p #输入上面设定的密码 此时这里会出错:/opt/mydata/mysql/bin/mysql: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory 解决方法:sudo ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5 输入这个命令后又会出错:Failed to search for file: cannot update repo "appstream": Cannot prepare internal mirrorlist: No URLs in mirrorlist 这是因为Centos8于2021年年底停止了服务,使用yum源安装时候,就会报错,这时我们需要修改yum源。 解决方法:cd /etc/yum.repos.d/ sed -i "s/mirrorlist/#mirrorlist/g" /etc/yum.repos.d/CentOS-* sed -i "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-* # 如果已经安装了wget就不需要这一步 yum install wget –y # 更新yum源为阿里源 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo yum clean all yum makecache # 验证 yum install -y vim 然后即可连接成功,如果忘记mysql的root密码怎么办? 可以直接更改my.cnf文件,重启mysql服务service mysqld restart 然后输入/opt/mydata/mysql/bin/mysql -u root -p,不需要输入密码,直接按Enter键即可登录。vim /opt/mydata/mysql/my.cnf #找到[mysqld],在最后一行添加skip-grant-tables,按esc,再按: 输入wq 回车,重启mysql服务 root忘记密码 11.修改密码 如果设置了skip-grant-tables ,更改密码,use mysql;//选择数据库 //update user set Password=Password("你的密码") where User="root"; update user set authentication_string="" where user="root"; //mysql8.0修改 flush privileges; //刷新权限 ALTER USER "root"@"localhost" IDENTIFIED BY "新密码"; //修改为远程访问 update user set host="%" where user="root"; flush privileges; exit //重启服务service mysqld restart //用新密码即可登录 登录数据库后修改密码:#如果你设定了不需要密码,请编辑删除该设置,然后重启mysql服务 ALTER USER "root"@"localhost" IDENTIFIED WITH mysql_native_password BY "你的密码"; //切换数据库 use mysql; //修改为远程访问 update user set host="%" where user="root"; //刷新权限 flush privileges; 至此MYSQL在CentOS8上成功安装。