设置主机名
hostnamectl set-hostname host01.example.com
下载MYSQL8.0.27
检查mysql是否已经安装
rpm -qa | grep -i mysql
rpm -qa | grep -i mariadb
删除mysql安装包
rpm -ev --nodeps mariadb-libs-5.5.68-1.el7.x86_64
检查libaio是否已经安装
rpm -qa|grep libaio
创建MYSQL用户组、用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
创建目录
mkdir -p /mysql/data/3306
mkdir -p /mysql/log/3306
mkdir -p /mysql/app
修改权限
chown -R mysql:mysql /mysql
chmod 750 /mysql
解压文件
tar -xvf /mysql/app/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
rm -fr /mysql/app/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
做链接
ln -s mysql-8.0.27-linux-glibc2.12-x86_64 /mysql/app/mysql
添加环境变量
vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/mysql/app/mysql/bin
之后重新登录查看版本
mysql --version
mysql Ver 8.0.27 for Linux on x86_64 (MySQL Community Server - GPL)
配置参数文件
vi /mysql/data/my3306.cnf
[mysql]
port = 3306
socket = /mysql/data/3306/mysql.sock
default-character-set=utf8
[mysqld]
server-id=330621
bind_address=0.0.0.0
port = 3306
basedir=/mysql/app/mysql
datadir=/mysql/data/3306
socket = /mysql/data/3306/mysql.sock
pid-file=/mysql/data/3306/mysql.pid
##loglog-output=FILE
log-error=/mysql/log/error.log
log_timestamps = SYSTEM
character-set-server=utf8
autocommit = 0
default-storage-engine=INNODB
transaction_isolation = READ-COMMITTED
default-authentication-plugin = mysql_native_password
初始化
mysqld --defaults-file=/mysql/data/my3306.cnf --initialize --user=mysql
启动数据库
mysqld_safe --defaults-file=/mysql/data/my3306.cnf & #mysql优化后的启动方式,对mysqld有保护作用。
查看初始密码
more /mysql/log/error.log |grep password
登录数据库
mysql -u root -p -S /mysql/data/3306/mysql.sock
修改密码
alter user user() identified by "root123";
关闭数据库
mysql> shutdown;
mysqladmin -u root -proot123 -S /mysql/data/3306/mysql.sock shutdown
设置快捷键
echo "alias 80='export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/mysql/app/mysql/bin' >/dev/null" >>/root/.bashrc
echo "alias 80st='mysqld_safe --defaults-file=/mysql/data/my3306.cnf &' >/dev/null" >>/root/.bashrc
echo "alias 80sp='mysqladmin -u root -proot123 -S /mysql/data/3306/mysql.sock shutdown' >/dev/null" >>/root/.bashrc
echo "alias 80lg='mysql -u root -proot123 -S /mysql/data/3306/mysql.sock' >/dev/null" >>/root/.bashrc
source /root/.bashrc
日志分类
The General Query Log(通用查询日志)
The Error Log(错误日志)
The Slow Query Log(慢查询日志)
DDL log (元数据日志)
Relay log(中继日志)
二进制日志