在已经安装mysql的ubuntu系统安装mysql8.0.30版本

一、下载二进制安装包

1.下载地址:

https://downloads.mysql.com/archives/community/

2.下载选项:

os version:选择系统对应的glib版本

image

 二、安装

1.上传到服务器

2.解压到/project/mysql8目录

tar xf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz -C /project/mysql8/

cd /project/mysql8

mv  mysql-8.0.30-linux-glibc2.12-x86_64/* ./

3.创建数据目录和日志目录

mkdir -p /project/mysql8/data
mkdir -p /project/mysql8/log
mkdir -p /project/mysql8/tmp

4.配置文件

 mysql8.0的配置文件,注意,这个配置文件一定要设置,且要和/etc/my.cnf区分

vim /project/mysql8/my23306.cnf
[mysqld]
#基础
user=mysql
basedir=/project/mysql8/
datadir=/project/mysql8/data
tmpdir=/project/mysql8/tmp

#端口socket pid(和23306实例完全区分)
port=23306
socket=/project/mysql8/mysql23306.sock
pid-file=/project/mysql8/mysql23306.pid

#日志
log_error=/project/mysql8/log/error.log
slow_query_log=1
slow_query_log_file=/project/mysql8/log/slow.log

#字符集
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci

#innodb
innodb_buffer_pool_size=1G
innodb_log_file_size=256M

[mysqld_safe]
log-error=/project/mysql8/log/error.log
pid-file=/project/mysql8/mysql23306.pid

[client]
port=23306
socket=/project/mysql8/mysql23306.sock

5.将数据库目录权限设置为mysql 

chown -R mysql:mysql /project/mysql8

6.初始化

cd /project/mysql8/bin

./mysqld --defaults-file=/project/mysql8/my23306.cnf --initialize --user=mysql

7.查看默认密码:

grep password /project/mysql8/log/error.log

8.设置systemctl启动文件

vim /etc/systemd/system/mysql23306.service
[Unit]
Description=MySQL8.0 Instance 23306
After=network.target

[Service]
#ubuntu系统这里必须是simple Type=simple User=mysql Group=mysql #重点:defaults-file放第一位 ExecStart=/project/mysql8/bin/mysqld --defaults-file=/project/mysql8/my23306.cnf ExecStop=/project/mysql8/bin/mysqladmin --defaults-file=/project/mysql8/my23306.cnf shutdown Restart=on-failure [Install] WantedBy=multi-user.target

9.启动数据库

systemctl daemon-reload

systemctl start mysql23306

systemctl enable  mysql23306

三、重置root密码

1.使用默认密码登录

cd /project/mysql8/
./bin/mysql -S /project/mysql8/mysql23306.sock -uroot -p

2.重置root用户本地登录的密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'XXXXXXXXXX';
Query OK, 0 rows affected (0.00 sec)

3.创建数据库

CREATE DATABASE `lhjy_lxd` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

4.创建普通用户,并授予访问指定数据库的权限

CREATE USER 'lhjy_lxd'@'%' IDENTIFIED BY 'BpZpZ6wfyL2y84ym';

GRANT ALL PRIVILEGES ON lhjy_lxd.* TO 'lhjy_lxd'@'%' WITH GRANT OPTION;

 

备注:

1.查看glibc版本:

getconf GNU_LIBC_VERSION

系统的glibc的版本必须大于os version选择的glibc的版本

image

 2.root用户只授权localhost访问,不要授权%权限

3.仅仅给普通用户授权他自己要访问的数据库就行

 

posted @ 2026-08-17 14:44  粉色纽扣  阅读(4)  评论(0)    收藏  举报