文章目录
前言
这里演示在Linux环境下安装Mysql8.0的全过程。
一、下载
1. 确认版本
需要根据先确定版本
rpm -qa|grep glibc
2. 下载
tar包太大了,这里我们下载tar.xz
3. 解压
# 解压文件至/usr/local/目录
tar -xvf mysql-8.0.38-linux-glibc2.17-x86_64.tar.xz -C /usr/local/
# 重命名为 mysql
mv /usr/local/mysql-8.0.38-linux-glibc2.17-x86_64/ /usr/local/mysql
二、安装
1. 创建用户组
#创建用户组
groupadd mysql
#-r 参数表示 mysql 用户是系统用户,不可用于登录系统,创建用户 mysql 并将其添加到用户组 mysql 中
useradd -r -g mysql mysql
#新建目录
mkdir /usr/local/mysql/mariadb
mkdir -p /usr/local/mysql/lib/mysql
#分配用户组:将文件的所有属性改为 mysql 用户 将组属性改为 mysql 组
chown -R mysql:mysql /usr/local/mysql/
chmod 755 /usr/local/mysql/
2. 修改配置文件
vi /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe]
log-error=/usr/local/mysql/mariadb/mariadb.log
pid-file=/usr/local/mysql/mariadb/mariadb.pid
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
3. 初始化
cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql
生成的密码要记下来,后面用得到。
4. 环境变量
vi /etc/profile
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
source /etc/profile
5. 验证
mysql --version
三、启动服务
1. 启动
cd /usr/local/mysql/support-files/
./mysql.server start
2. 登录
ln -s /usr/local/mysql/lib/mysql/mysql.sock /tmp/mysql.sock
mysql -u root -p
3. 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456a?';
4. 允许远程访问
# 选择数据库
use mysql;
# 最后授权 MySQL,允许远程用户登录访问 MySQL
update user set host = '%' where user = 'root';
# 刷新权限
flush privileges;
5. 测试
6.停止
cd /usr/local/mysql/support-files/
./mysql.server stop
四、开机启动
# 复制 mysql.server 至/etc/init.d/重命名为 mysqld
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# 修改 vi /etc/init.d/mysqld 配置文件
# 修改内容: 46-47
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
# 添加系统服务(service)启动信息
chkconfig --add mysqld # 服务名字为mysqld
#检查启动状态:
sudo systemctl is-enabled mysqld