这篇文章主要是针对新手的,所以写的比较详细,并且根据自己在安装时出现的情况以及如何对应解决。
安装包可以到MySQL官网去获取下载链接:https://dev.mysql.com/downloads/mysql/ ;
请根据自己的系统下载对应版本,如果是64位就下载64位版本。
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
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_64
cd /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.初始化mysql
cd /opt/mydata/mysql/bin
./mysqld --user=mysql --basedir=/opt/mydata/mysql --datadir=/opt/mydata/mysql/data/ --initialize --lower-case-table-names=1
//初始化之后会生成临时密码由大小写字母符号及数字组成,复制出来到文本文档中,后面会用到
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.创建systemctl
touch /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服务
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上成功安装。
页面更新:2024-06-08
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号