mysql下载地址
https://downloads.mysql.com/archives/community/
关闭防火墙
1
2
3
4
|
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld
|
解压压缩包
1
2
|
tar -xvf mysql-8.1.0-linux-glibc2.28-x86_64.tar.xz
mv mysql-8.1.0-linux-glibc2.28-x86_64 /usr/local/mysql
|
创建用户跟用户组
1
2
|
groupadd mysql
useradd -g mysql mysql
|
配置数据文件夹
1
2
|
mkdir -p /data/mysql
chown mysql:mysql /data/mysql/
|
配置文件
vi /etc/my.cnf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
[mysqld]
bind-address=0.0.0.0
# 服务端口
port=3306
# 运行用户
user=mysql
# mysql程序目录
basedir=/usr/local/mysql
# mysql数据目录
datadir=/data/mysql
socket=/tmp/mysql.sock
# 免密登录-根据实际情况配置
# skip-grant-tables
# 日志目录
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
# 关闭MySQL的only_full_group_by模式
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
#忽略表名大小写
lower_case_table_names=1
|
配置环境变量
vi /etc/profile
末尾添加这一行
1
|
export PATH=$PATH:/usr/local/mysql/bin
|
刷新环境
初始化mysql
1
2
|
cd /usr/local/mysql/bin
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/data/mysql/ --user=mysql --initialize
|
启动mysql
复制服务脚本
1
|
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
|
设置服务启动
1
2
|
service mysql start
service mysql enable
|
或者是
1
2
|
systemctl start mysql
systemctl enable mysql
|
查看初始密码
1
|
cat /data/mysql/mysql.err | grep 'password'
|
root密码
1
2
|
cd /usr/local/mysql/bin
./mysql -u root -p
|
输入密码登录
如果配置了skip-grant-tables则直接回车即可登录
初始化密码
1
2
|
ALTER USER 'root'@'%' IDENTIFIED BY '123456';
flush privileges; -- 刷新权限
|
修改密码
1
|
CREATE USER 'root'@'%' IDENTIFIED BY '123456';
|