mysql8.0安装
ldd 有安装,大都适用。
安装前准备工作
选择安装包需要根据系统的cpu的系统架构,位数以及当前系统glibc的版本。
(1) 查看系统的cpu架构,位数
lscpu
##返回值的Architecture行是“x86_64”说明是x86架构,64位。
(2) 查看glibc的版本,arm架构除外。
ldd –-version
##返回值的ldd(GNU libc)2,28
(3) 根据系统cpu架构、位数、glibc版本选择mysql安装包
官网: https://www.mysql.com/
mysql-8.0.34-linux-glibc2.28-x86_64.tar,gz |
---|
安装过程
(1)使用root用户权限 ,用root账号登录
(2)清空系统自带的数据库(如mariadb,mysql)。
#查看是否安装
rpm -qa | grep mysql
rpm -qa | grep mariadb
#手动删除
rpm -e --nodeps mysql-libs-5.1.73-5.el6_6.x86_64
(3)上传mysql安装包到/opt目录
(4)安装前置依赖
#非必要,有的话,能减少问题
yum groupinstall "Development Tools"
(5)解压、复制
cd /opt
tar -xvf mysql-8.0.37-linux-glibc2.28-x86_64.tar.xz
cp -r mysql-8.0.34-linux-glibc2.28-x86_64 /usr/local/mysql
(6)创建用户和用户组
groupadd mysql
useradd -r -g mysql mysql
##这里采用系统用户
``
(7)确定数据保存位置
需要判断文件夹挂载的大小,实际磁盘挂载在那个文件夹就保存在哪里。
df -h
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/0f658f92e0e645f19ba884904720d489.png)
##看出各个文件夹的挂载大小 这里挂载在/home.放在mysql用户下。
(8)创建对应的目录和文件
mkdir /home/mysql/data
mkdir /home/mysql/logs
touch /home/mysql/logs/error.log
(7)修改文件所有权
chown -R mysql:mysql /usr/local/mysql
chmod 755 -R /usr/local/mysql
(10) 配置/etc/my.cnf
[mysql]
default-character-set=utf8mb4
[mysqld]
# 设置服务器ID,不可重复
server-id=3
port=3306
user=mysql
log-error=/home/mysql/logs/error.log
datadir=/home/mysql/data
basedir=/usr/local/mysql
lower_case_table_names=1
character-set-server=utf8mb4
(11)初始化
cd /usr/local/mysql/bin
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/home/mysql/data --user = mysql --initialize
##root登录密码在mysql日志里面
(12)添加系统服务
#sudo运行
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig --add mysql
chkconfig mysql on
#设置开机自启动
systemctl enable mysql.service
mysql启动、重启与关闭
#启动
systemctl start mysql.service
#关闭
systemctl stop mysql.service
#重启
systemctl restart mysql.service
#运行状态
systemctl status mysql.service
启动并修改root密码
(1)启动登录
cd /usr/local/mysql/bin
./mysql -u root -p
#输入mysql日志的密码
(2)修改root密码
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘Zhuang@123456’;
FLUSH PRIVILEGES;
(3)添加远程连接用户
CREATE USER ‘zhuang’@’%’ IDENTIFIED WITH mysql_native_password BY ‘Zhuang@123456’;
##修改加密逻辑,防止客户端无法连接。注意密码等级
FLUSH PRIVILEGES;
##刷新
配置文件my.cnf相关配置(不涉及调优)
[client]
#客户端设置,即客户端默认的连接参数
#默认连接端口
port=3306
#用于本地连接的socket套接字
socket=/home/mysql/3306/mysql.sock
#编码
default-character-set=utf8mb4
[mysql]
#设置编码格式
default-character-set=utf8mb4
[mysqld]
# 设置服务器ID,不可重复
server-id=3
#MySQL监听端口
port=3306
#使用用户
user=mysql
#为MySQL客户端程序和服务器之间的本地通讯指定一个套接字文件,
#可以不填写,若填写则[client]需要填写,否则指令连接时需要指定对应的socket
socket=/home/mysql/3306/mysql.sock
#pid文件所在目录
pid-file=/home/mysql/3306/mysql.pid
#数据库运行日志
log-error=/home/mysql/logs/error.log
#数据保存路径
datadir=/home/mysql/data
#安装路径
basedir=/usr/local/mysql
#MySQL存放临时文件的目录
tmpdir = /home/mysql/3306/tmp
#设置编码格式
character-set-server=utf8mb4
#默认存储引擎
default-storage-engine=InnoDB
#表名大小写敏感,0:区分大小写,1:不区分大小写,
#(mysql8版本以后,该配置必须在初始化安装时设置,否则修改重启无效)
lower_case_table_names=1