遇到客户环境是内网,无法通过yum 方式安装 MySQL 8.0,只能离线安装, 现在把离线安装安装过程记录如下:
系统: CentOS 7.9
MySQL : 8.0
- 添加mysql的用户和组,增加sudo权限
groupadd mysql
useradd -r -g mysql mysql
#修改sudoers配置文件权限
chmod u+w /etc/sudoers
vim /etc/sudoers
添加如下代码
mysql ALL=(ALL) NOPASSWD:ALL
#撤销sudoers配置文件权限
chmod u-w /etc/sudoers
- 切换到mysql 用户
su mysql
- 下载mysql的安装文件
wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.33-el7-x86_64.tar
- 解压文件并重命名文件名
tar -xvf mysql-8.0.33-el7-x86_64.tar
tar -zxvf mysql-8.0.33-el7-x86_64.tar.gz
mv mysql-8.0.33-el7-x86_64 mysql-8.0.33
- 创建数据目录
cd mysql-8.0.33
mkdir data
chown -R mysql:mysql /home/mysql/mysql-8.0.33
chmod -R 755 /home/mysql/mysql-8.0.33
- 初始化MySQL
cd /home/mysql/mysql-8.0.33/bin
./mysqld --initialize --user=mysql --datadir=/home/mysql/mysql-8.0.33/data --basedir=/home/mysql/mysql-8.0.33
会出现如下的日志信息,请记录如下信息中的root口令(不操作)
2023-05-09T06:32:38.801986Z 0 [System] [MY-013169] [Server] /home/mysql/mysql-8.0.33/bin/mysqld (mysqld 8.0.33) initializing of server in progress as process 24540
2023-05-09T06:32:38.816291Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2023-05-09T06:32:39.293496Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2023-05-09T06:32:41.338754Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: !F&RzOVse8qM
- 配置参数文件
sudo vi /etc/my.cnf
添加如下内容
[client]
port = 8306
socket = /home/mysql/mysql-8.0.33/data/mysql.sock
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect = 'SET NAMES utf8mb4'
port = 8306
socket = /home/mysql/mysql-8.0.33/data/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
datadir = /home/mysql/mysql-8.0.33/data
lower_case_table_names=1
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
- 修改启动文件
vi /home/mysql/mysql-8.0.33/support-files/mysql.server
给文件中basedir和datadir赋值(初始脚本赋的空值)
basedir=/home/mysql/mysql-8.0.33
datadir=/home/mysql/mysql-8.0.33/data
- 启动mysql服务
/home/mysql/mysql-8.0.33/support-files/mysql.server start
- 设置软连接,并重启MySQL
sudo ln -s /home/mysql/mysql-8.0.33/support-files/mysql.server /etc/init.d/mysql
sudo ln -s /home/mysql/mysql-8.0.33/bin/mysql /usr/bin/mysql
sudo ln -s /home/mysql/mysql-8.0.33/mysql.sock /var/mysql.sock
sudo service mysql restart
- 登录并更改密码
mysql -uroot -p
alter user 'root'@'localhost' identified by '123456';
- 开放远程连接
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges; //刷新权限
- 安装完成,使用navicat测试连接mysql