环境
CentOS Linux release 7.8.2003 (Core)
mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
1、下载安装包
a、安装包下载地址
https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
由于文件比较大,下载完成后可通过SecureCRTPortable远程工具中的SFTP会话功能将文件传输到服务器上
用mv mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz /usr/local/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz将文件拷贝到该文件夹下
b、直接在相应的目录下执行如下Linux命令可直接下载
wget:https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
如果显示wget未找到命令,则需要先安装wget:yum -y install wget
然后再执行以上命令,如下看下到下载结果
2、--将my.cnf上传到服务器/etc目录,可先用记事本保存,上传之后删除.txt后缀,上传方法和上述相同,不多做叙述。
[client]
user=root
password=root
socket=/data/mysql/mysql.sock
[mysql]
user=root
password=root
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql
socket=/data/mysql/mysql.sock
log-error=/data/mysql/error.log
pid-file=/data/mysql/mysql.pid
# 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
server-id = 114
# bind_address = 192.168.126.37
port = 3306
user = mysql
slow_query_log = 1
slow_query_log_file = /data/mysql/slow.log
expire_logs_days = 90
long_query_time = 10
character-set-server = utf8mb4
secure_file_priv = /usr/local/mysql/mysql-files
########replication settings########
master_info_repository = TABLE
relay_log_info_repository = TABLE
log_bin = /data/mysql/log/mysql-bin.log
sync_binlog = 1
gtid_mode = on
enforce_gtid_consistency = 1
log_slave_updates
binlog_format = row
relay_log = /data/mysql/log/mysql-relay.log
relay_log_recovery = 1
binlog_gtid_simple_recovery = 1
slave_skip_errors = ddl_exist_errors
explicit_defaults_for_timestamp=on
log_timestamps=system
lower_case_table_names = 1
########semi sync replication settings########
#plugin_dir=/usr/local/mysql/lib/plugin
#plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
#loose_rpl_semi_sync_master_enabled = 1
#loose_rpl_semi_sync_slave_enabled = 1
#loose_rpl_semi_sync_master_timeout = 5000
[mysqld_safe]
log-error=/data/mysql/error.log
pid-file=/data/mysql/mysql.pid
3、--安装依赖 libaio 库。如果未在本地安装此库,则数据目录初始化和后续的服务器启动步骤将失败。
yum search libaio
yum install libaio
4、--添加用户组及用户
groupadd mysql
useradd -r -m -g mysql mysql
5、找到安装包解压
--切换目录
cd /usr/local
--解压安装包
xz -d mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz
tar xf mysql-8.0.27-linux-glibc2.12-x86_64.tar
6、--创建软连接
ln -s mysql-8.0.27-linux-glibc2.12-x86_64 mysql
7、--创建文件夹授权(注意后两句命令有".")
cd mysql
mkdir mysql-files
chown mysql:mysql mysql-files
chmod 750 mysql-files
chown -R mysql .
chgrp -R mysql .
8、修改文件配置,创建相应目录
cd /
--创建数据目录mkdir data
先修改my.cnf的文件名删除掉.txt
mv /etc/my.cnf.txt /etc/my.cnf
进入my.cnf 文件 删除下面两句的‘log/’
relay_log = /data/mysql/log/mysql-relay.log
log_bin = /data/mysql/log/mysql-bin.log
9、--初始化
bin/mysqld --defaults-file=/etc/my.cnf --initialize --datadir=/data/mysql --user=mysql
bin/mysql_ssl_rsa_setup --datadir=/data/mysql
cp support-files/mysql.server /etc/init.d/mysql.server(由于之前已安装这里应输入y)
chkconfig mysql.server on
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
10、--查看log查看初始化密码
vi /data/mysql/error.log
2021-12-15T11:13:04.683250+08:00 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: =fjPrrYG<4)s
11、--查询运行的mysql进程
ps -ef | grep mysql
关闭数据库进程
12、--创建log目录,将binlog移动
mkdir /data/mysql/log
chown mysql:mysql log
mv mysql-bin* /data/mysql/log
13、登陆到mysql
mysql -u root -p
如果报错!!!(本人已踩坑,不能登陆可先执行该语句)
--报错:-bash: mysql: command not found 将mysql映射到/usr/bin目录
可执行:ln -s /usr/local/mysql/bin/mysql /usr/bin
--修改初始密码
alter user user() identified by 'root';