MySQL8.3.0安装及InnoDB Cluster集群搭建

        本文主要记录了最新版本的MySQL 8.3.0的安装方式以及MySQL InnoDB Cluster集群的搭建过程。

为了最终实现集群,我这里测试时在一台虚拟机中安装了3个MySQL实例:

         -master:

                IP:192.168.70.128

                端口:3310

                安装位置:/home/mysql-8.3.0-master

 

         -slave1:

                IP:192.168.70.128

                端口:3311

                安装位置:/home/mysql-8.3.0-slave1

         -slave2:

                IP:192.168.70.128

                端口:3312

                安装位置:/home/mysql-8.3.0-slave2

                

【整体安装步骤为】:

MySQL 8.3.0(3个实例)->MySQL Shell(集群配置)->MySQL Router(供应用程序连接)   

MySQL 8.3.0安装步骤:

1.安装MySQL(master):


a.下载安装包:

下载地址:https://dev.mysql.com/downloads/mysql/

比如下载:
mysql-8.3.0-linux-glibc2.17-x86_64.tar.xz


注意:glibc2.17和glibc2.28的区别:

        文件名中的"glibc2.17"和"glibc2.28"表示了两个不同的glibc(GNU C Library)版本。
        glibc是Linux系统中的重要组件之一,它提供了许多操作系统功能和服务的实现。不同的Linux发行版和版本可能使用不同的glibc版本。
        "glibc2.17"表示该版本是构建和编译在glibc 2.17上的,而"glibc2.28"表示该版本是构建和编译在glibc 2.28上的。
        选择正确的glibc版本对于确保软件与特定Linux发行版和版本的兼容性非常重要。
        因此,你应该根据你的操作系统使用的glibc版本来选择相应的包进行安装。
        如果你的Linux系统使用的是glibc 2.17,那么你应该选择下载并安装"glibc2.17"版本的包。

        如果你不确定你的系统使用的是哪个glibc版本,你可以在终端中运行以下命令来查看:

        ldd --version

        根据输出结果中的glibc版本信息,选择对应的MySQL tar.gz包进行安装。

        请注意,确保选择与你的操作系统和glibc版本兼容的MySQL版本是非常重要的,否则可能会导致不稳定或不可预测的行为。

b.解压:

tar xvf mysql-8.3.0-linux-glibc2.17-x86_64.tar.xz


c.在MySQL根目录创建data目录:

mkdir /home/mysql-8.3.0-master/data


d.创建mysql.cnf文件:

vim /home/mysql-8.3.0-master/my.cnf

-mysql.cnf内容如下:(这里精简了一些配置,主要是演示用,实际项目根据需要添加所需MySQL配置即可)

[mysqld]

skip-name-resolve

port = 3310

mysqlx=0

basedir=/home/mysql-8.3.0-master

datadir=/home/mysql-8.3.0-master/data

max_connections=200

max_allowed_packet = 500M

character-set-server=utf8mb4

default-storage-engine=INNODB

innodb_buffer_pool_size=2G

lower_case_table_names=1

server-id=300

[mysql]

default-character-set=utf8mb4

-注意:MySQL8不像MySQL5.7版本,不区分大小写的配置lower_case_table_names=1必须在MySQL初始化前配置好,因为一旦初始化了,就不允许再修改该配置了!


e.创建mysql用户组、用户及MySQL目录授权:

groupadd mysql
useradd -r -g mysql -s /bin/false mysql

chown mysql:mysql -R /home/mysql-8.3.0-master

-下面这个授权是给MySQL默认的mysql.sock存放目录授权
chown mysql:mysql -R /tmp


f.mysql初始化:

【注意:虽然MySQL的初始化和启动也可以用系统的root用户进行,但正式部署时,为了安全性,应该单独为MySQL创建个系统用户来操作,比如上面创建的mysql用户和用户组】

(初始化时会生成密码,记得保存,比如:gLfOAkhG=7fT)

cd /home/mysql-8.3.0-master/bin

--用mysql用户进行初始化
./mysqld --defaults-file=/home/mysql-8.3.0-master/my.cnf --user=mysql --initialize


g.启动与停止MySQL服务:

cd /home/mysql-8.3.0-master/bin

-启动MySQL服务:
./mysqld  --defaults-file=/home/mysql-8.3.0-master/my.cnf --user=mysql  &


-停止MySQL服务:

./mysqladmin -u root -p shutdown


h.登录后修改root用户密码:

(注意:MySQL8.3登录后强制要求先修改密码,否则不让做其他操作的)

-登录:

./mysql -u root -p

(用初始化时的临时密码登录,比如:gLfOAkhG=7fT)

-修改密码命令:
alter user 'root'@'localhost' identified by '8888';


i.登录后修改允许远程访问:

use mysql;

update user set host='%' where user='root';

flush privileges;

2.安装MySQL(slave1):


a.创建data和socket目录:


mkdir /home/mysql-8.3.0-slave1/data /home/mysql-8.3.0-slave1/socket

b.创建mysql.cnf文件:

[mysqld]

skip-name-resolve

port = 3311

mysqlx=0

socket=/home/mysql-8.3.0-slave1/socket/mysql.sock

basedir=/home/mysql-8.3.0-slave1

datadir=/home/mysql-8.3.0-slave1/data

max_connections=200

max_allowed_packet = 500M

character-set-server=utf8mb4

default-storage-engine=INNODB

innodb_buffer_pool_size=2G

lower_case_table_names=1

server-id=301

[mysql]

default-character-set=utf8mb4

c.给系统mysql用户进行MySQL目录授权

(注意:mysql用户及用户组在刚才安装master时已经创建过了)

chown mysql:mysql -R /home/mysql-8.3.0-slave1

d.mysql初始化:

-进入bin目录
cd /home/mysql-8.3.0-slave1/bin

-初始化MySQL
./mysqld --defaults-file=/home/mysql-8.3.0-slave1/my.cnf --user=mysql --initialize

e.启动与停止MySQL服务:

-启动服务
./mysqld  --defaults-file=/home/mysql-8.3.0-slave1/my.cnf --user=mysql  &

-停止服务
./mysqladmin -h127.0.0.1 -P3311 -u root -p shutdown

f.登录后修改root用户密码:

-登录
./mysql -h127.0.0.1 -P3311 -u root -p

-修改密码命令:
alter user 'root'@'localhost' identified by '8888';

g.登录后修改允许远程访问:

use mysql;

update user set host='%' where user='root';

flush privileges;

3.安装MySQL(slave2):


a.创建data和socket目录:


mkdir /home/mysql-8.3.0-slave2/data /home/mysql-8.3.0-slave2/socket

b.创建mysql.cnf文件:

[mysqld]

skip-name-resolve

port = 3312

mysqlx=0

socket=/home/mysql-8.3.0-slave2/socket/mysql.sock

basedir=/home/mysql-8.3.0-slave2

datadir=/home/mysql-8.3.0-slave2/data

max_connections=200

max_allowed_packet = 500M

character-set-server=utf8mb4

default-storage-engine=INNODB

innodb_buffer_pool_size=2G

lower_case_table_names=1

server-id=302

[mysql]

default-character-set=utf8mb4

c.给系统mysql用户进行MySQL目录授权

(注意:mysql用户及用户组在刚才安装master时已经创建过了)

chown mysql:mysql -R /home/mysql-8.3.0-slave2

d.mysql初始化:

-进入bin目录
cd /home/mysql-8.3.0-slave2/bin

-初始化MySQL
./mysqld --defaults-file=/home/mysql-8.3.0-slave2/my.cnf --user=mysql --initialize

e.启动与停止MySQL服务:

-启动服务
./mysqld  --defaults-file=/home/mysql-8.3.0-slave2/my.cnf --user=mysql  &

-停止服务
./mysqladmin -h127.0.0.1 -P3312 -u root -p shutdown

f.登录后修改root用户密码:

-登录
./mysql -h127.0.0.1 -P3312 -u root -p

-修改密码命令:
alter user 'root'@'localhost' identified by '8888';

g.登录后修改允许远程访问:

use mysql;

update user set host='%' where user='root';

flush privileges;

MySQL InnoDB Cluster 安装与配置:


简介:


        InnoDB Cluster 主要由MySQL Shell、MySQL Router和MySQL服务器集群组成,三者协同工作,共同为 MySQL 提供完整的高可用性解决方案。
        InnoDB Cluster 以组复制为基础,集群中的每个 MySQL 服务器实例都是组复制的成员,提供了在 InnoDB Cluster 内复制数据的机制,并且具有内置的故障转移功能。

        MySQL Group Replication(MGR),全称MySQL Group Replication,是由MySQL官方于2016年12月推出的一项全新的高可用性与高扩展性解决方案。

        该解决方案旨在提供高可用、高扩展和高可靠的MySQL集群服务。

        在MySQL Group Replication出现之前,用户通常采用Master-Slave架构作为MySQL高可用性的主要方式。然而,随着业务需求的增长和发展,传统的Master-Slave架构可能会面临一些限制,例如单点故障和扩展性瓶颈。

        MySQL 5.7版本开始支持无损半同步复制(lossless semi-synchronous replication),这一特性进一步提升了数据复制的强一致性。而MySQL Group Replication则在此基础上进一步发展,为用户提供了一种更为灵活和可靠的数据库复制方案。

        通过使用MySQL Group Replication,用户可以构建一个由多个MySQL实例组成的集群,这些实例可以相互协作,提供高可用性和扩展性,并保证数据的一致性和可靠性。

        MySQL Group Replication采用基于Paxos协议的一致性算法,确保了集群中的所有节点在任何时候都保持一致的数据状态。同时还提供了自动故障检测和恢复机制,当集群中的某个节点发生故障时,集群可以自动进行故障切换,保证服务的持续可用性。
        MySQL Shell 在 InnoDB Cluster 中充当控制台角色,使用它包含的AdminAPI,可以使安装、配置、管理、维护多个MySQL组复制实例的工作更加轻松,通过AdminAPI的几条交互指令就可自动完成组复制配置。
        MySQL Router 可以根据集群部署信息自动生成配置,将客户端应用程序透明地连接到 MySQL 服务器实例。
        如果服务器实例意外故障,群集将自动重新配置。在默认的单主模式下,InnoDB Cluster 具有单个读写主服务器实例。
        多个辅助服务器实例是主服务器实例的副本。如果主服务器出现故障,则辅助服务器将自动升级为主服务器。
        MySQL Router 可以检测到这种情况并将客户端应用程序自动转发到新的主服务器。

        为了获得最佳性能,MySQL Router通常与使用它的应用程序安装在同一主机上。


结构介绍:

1.MySQL Servers
MySQL Group Replication,简称MGR, 是 MySQL 的主从同步高可用方案,包括数据同步及角色选举
里面有三个服务节点 (官网指定服务的节点数最少 3 个最多 9 个),如果过多或造成性能下降
1.1 其中有一个主节点,两个从节点
1.2 主节点可以进行读写操作,从节点只能进行读取操作
1.3 集群设置默认为单主模式,当然还可以设置成多主模式


2.MySQL Router
是业务流量入口,支持对MGR的主从角色判断,可以配置不同的端口分别对外提供读写服务,实现读写分离(重要)


3.MySQL Shell(Cluster Admin)
是 InnoDB Cluster 的管理工具,用于管理和配置集群 (重要)


4.Client App(MYSQL Connector)
这个节点部署的是项目 (非重点,和本章课程无关,可以看成是操作数据库的Java项目)

InnoDB Cluster安装与配置

a.给MySQL的root用户授权

-master root用户授权:
cd /home/mysql-8.3.0-master/bin

./mysql -u root -p

GRANT CLONE_ADMIN, CONNECTION_ADMIN, GROUP_REPLICATION_ADMIN, PERSIST_RO_VARIABLES_ADMIN, REPLICATION_APPLIER, REPLICATION_SLAVE_ADMIN, ROLE_ADMIN, SYSTEM_VARIABLES_ADMIN ON *.* TO 'root'@'%' WITH GRANT OPTION;

-slave1 root用户授权:
cd /home/mysql-8.3.0-slave1/bin

./mysql -h127.0.0.1 -P3311 -u root -p

GRANT CLONE_ADMIN, CONNECTION_ADMIN, GROUP_REPLICATION_ADMIN, PERSIST_RO_VARIABLES_ADMIN, REPLICATION_APPLIER, REPLICATION_SLAVE_ADMIN, ROLE_ADMIN, SYSTEM_VARIABLES_ADMIN ON *.* TO 'root'@'%' WITH GRANT OPTION;


-slave2 root用户授权:
cd /home/mysql-8.3.0-slave2/bin

./mysql -h127.0.0.1 -P3312 -u root -p

GRANT CLONE_ADMIN, CONNECTION_ADMIN, GROUP_REPLICATION_ADMIN, PERSIST_RO_VARIABLES_ADMIN, REPLICATION_APPLIER, REPLICATION_SLAVE_ADMIN, ROLE_ADMIN, SYSTEM_VARIABLES_ADMIN ON *.* TO 'root'@'%' WITH GRANT OPTION;

b.MySQL Shell安装与启动

-下载地址:
https://dev.mysql.com/downloads/shell/

-文档地址:
https://dev.mysql.com/doc/mysql-shell/8.3/en/

-解压:

tar zxvf mysql-shell-8.3.0-linux-glibc2.17-x86-64bit.tar.gz

-启动:

/home/mysql-shell-8.3.0-linux-glibc2.17-x86-64bit/bin/mysqlsh

c.检查实例并修正配置(MySQL Shell)

-检查:

(检查MySQL实例配置是否符合InnoDB Cluster集群要求)

dba.checkInstanceConfiguration('root@192.168.70.128:3310')

dba.checkInstanceConfiguration('root@192.168.70.128:3311')

dba.checkInstanceConfiguration('root@192.168.70.128:3312')

正常的检测结果示例:

-修正:

(如果检查有问题,则可以用下面的命令自动修正配置)

dba.configureInstance('root@192.168.70.128:3310')

dba.configureInstance('root@192.168.70.128:3311')

dba.configureInstance('root@192.168.70.128:3312')

【注意】:修正后Shell会自动重启该MySQL实例,如果重启失败,则需要手动重启下MySQL服务即可。
 

d.创建集群并添加实例(MySQL Shell)

-启动MySQL Shell后,首先连接到MySQL主实例,我这里是端口为3310的实例:

\connect root@192.168.70.128:3310

-创建集群:

var cluster = dba.createCluster('clusterTest')

(clusterTest为集群名称)

-查看集群状态:

cluster.status()

-添加集群实例:

var cluster = dba.getCluster()

cluster.addInstance('root@192.168.70.128:3311')
cluster.addInstance('root@192.168.70.128:3312')

正常添加完实例后,查看集群状态如下:

可以看出来,3310为主实例,提供读写;3311和3312为从实例,为只读。

【注意1】:
        添加实例命令会提示选择一种恢复策略,用于决定实例如何恢复与集群同步所需的事务。

        这里提供了2种恢复策略:
        [C]lone:克隆。会完全复制种子实例,并且会删除本实例与种子实例的差异。
        [I]ncremental recovery:增量恢复。会将种子实例中存在但本实例中不存在的数据同步到本实例,并且会保留本实例中存在但种子实例中不存在的数据。
        [A]bort:取消导入。

        这里会提示 (default Clone),即默认为克隆,可根据需求选择。

        这里选择第一项克隆,输入C,然后回车即可。
        若从实例只参与集群,不做其他用途,则可以选克隆;若从实例除了集群还有其他作用,则需要选择增量。

【注意2】:

        实例添加到集群后,Shell会自动重启该MySQL实例,如果重启失败,则需要手动重启下被加入集群的MySQL服务

【注意3】:

        如果重启添加到集群的MySQL实例后,通过Shell连接主实例执行cluster.status()时,有些实例出现以下错误:
...
"instanceErrors": [
                    "WARNING: Instance is not managed by InnoDB cluster. Use cluster.rescan() to repair.", 
                    "ERROR: Invalid or missing information of Group Replication's network address in metadata. Use Cluster.rescan() to update the metadata."
                ], 
...
        则需要在主实例中执行下 cluster.rescan() 重新更新下集群元数据。

【注意4】:

        如果通过Shell连接主实例执行var cluster = dba.getCluster()时,出现以下错误:

Dba.getCluster: This function is not available through a session to a standalone instance (metadata exists, instance belongs to that metadata, but GR is not active) (MYSQLSH 51314)

        则需要连接主实例后,重启下集群即可:

        dba.rebootClusterFromCompleteOutage()

e.MySQL Router安装与启动


-下载地址:
https://dev.mysql.com/downloads/router/

-文档地址:
https://dev.mysql.com/doc/mysql-router/8.3/en/

-解压:

tar xvf mysql-router-8.3.0-linux-glibc2.17-x86_64.tar.xz

-生成配置文件:

MySQL Router单独配置时,通常是手动在根目录下添加一个mysqlrouter.conf文件。
但结合InnoDB Cluster使用时,则是使用--bootstrap命令来自动生成配置文件。

cd /home/mysql-router-8.3.0-linux-glibc2.17-x86_64/bin
mysqlrouter --user=root --bootstrap root@192.168.70.128:3310

(注意:生成配置文件时,连接的是InnoDB Cluster中的MySQL主实例,我这里是端口为3310的实例)

生成的mysqlrouter.conf配置文件内容如下:

# File automatically generated during MySQL Router bootstrap
[DEFAULT]
name=system
user=root
keyring_path=/home/mysql-router-8.3.0-linux-glibc2.17-x86_64/var/lib/mysqlrouter/keyring
master_key_path=/home/mysql-router-8.3.0-linux-glibc2.17-x86_64/mysqlrouter.key
connect_timeout=5
read_timeout=30
dynamic_state=/home/mysql-router-8.3.0-linux-glibc2.17-x86_64/bin/../var/lib/mysqlrouter/state.json
client_ssl_cert=/home/mysql-router-8.3.0-linux-glibc2.17-x86_64/var/lib/mysqlrouter/router-cert.pem
client_ssl_key=/home/mysql-router-8.3.0-linux-glibc2.17-x86_64/var/lib/mysqlrouter/router-key.pem
client_ssl_mode=PREFERRED
server_ssl_mode=PREFERRED
server_ssl_verify=DISABLED
unknown_config_option=error
max_idle_server_connections=64
router_require_enforce=1

[logger]
level=INFO

[metadata_cache:bootstrap]
cluster_type=gr
router_id=1
user=mysql_router1_9apgv6ehpsnk
metadata_cluster=clusterTest
ttl=0.5
auth_cache_ttl=-1
auth_cache_refresh_interval=2
use_gr_notifications=0

[routing:bootstrap_rw]
bind_address=0.0.0.0
bind_port=6446
destinations=metadata-cache://clusterTest/?role=PRIMARY

routing_strategy=first-available
protocol=classic

[routing:bootstrap_ro]
bind_address=0.0.0.0
bind_port=6447
destinations=metadata-cache://clusterTest/?role=SECONDARY

routing_strategy=round-robin-with-fallback
protocol=classic

[routing:bootstrap_rw_split]
bind_address=0.0.0.0
bind_port=6450
destinations=metadata-cache://clusterTest/?role=PRIMARY_AND_SECONDARY

routing_strategy=round-robin
protocol=classic
connection_sharing=1
client_ssl_mode=PREFERRED
server_ssl_mode=PREFERRED
access_mode=auto

[routing:bootstrap_x_rw]
bind_address=0.0.0.0
bind_port=6448
destinations=metadata-cache://clusterTest/?role=PRIMARY
routing_strategy=first-available
protocol=x
router_require_enforce=0
client_ssl_ca=
server_ssl_key=
server_ssl_cert=

[routing:bootstrap_x_ro]
bind_address=0.0.0.0
bind_port=6449
destinations=metadata-cache://clusterTest/?role=SECONDARY
routing_strategy=round-robin-with-fallback
protocol=x
router_require_enforce=0
client_ssl_ca=
server_ssl_key=
server_ssl_cert=

[http_server]
port=8443
ssl=1
ssl_cert=/home/mysql-router-8.3.0-linux-glibc2.17-x86_64/var/lib/mysqlrouter/router-cert.pem
ssl_key=/home/mysql-router-8.3.0-linux-glibc2.17-x86_64/var/lib/mysqlrouter/router-key.pem

[http_auth_realm:default_auth_realm]
backend=default_auth_backend
method=basic
name=default_realm

[rest_router]
require_realm=default_auth_realm

[rest_api]

[http_auth_backend:default_auth_backend]
backend=metadata_cache

[rest_routing]
require_realm=default_auth_realm

[rest_metadata_cache]
require_realm=default_auth_realm

        根据生成的配置文件可知,MySQL Router的 读写端口:6446、只读端口:6447、读写分离端口:6450。

-启动MySQL Router:

cd /home/mysql-router-8.3.0-linux-glibc2.17-x86_64/bin

mysqlrouter &

服务器重启后,重新启动集群的步骤

如果我现在关闭这台虚拟机,重新启动后,可按照如下步骤恢复集群功能:

1.启动主从的所有MySQL服务:

-启动master
/home/mysql-8.3.0-master/bin/mysqld  --defaults-file=/home/mysql-8.3.0-master/my.cnf --user=mysql  &

-启动slave1
/home/mysql-8.3.0-slave1/bin/mysqld  --defaults-file=/home/mysql-8.3.0-slave1/my.cnf --user=mysql  &

-启动slave2
/home/mysql-8.3.0-slave2/bin/mysqld  --defaults-file=/home/mysql-8.3.0-slave2/my.cnf --user=mysql  &

2.MySQL Shell中重启下集群:

/home/mysql-shell-8.3.0-linux-glibc2.17-x86-64bit/bin/mysqlsh

\connect root@192.168.70.128:3310

dba.rebootClusterFromCompleteOutage()

var cluster = dba.getCluster()

cluster.status()

3.启动MySQL Router

cd /home/mysql-router-8.3.0-linux-glibc2.17-x86_64/bin

mysqlrouter &

连接MySQL Router进行测试

        之前我们已经搭建好InnoDB Cluster一主两从的集群了,并且启动了MySQL Router,现在我们可以通过程序或Navicat 连接MySQL Router的读写分离端口6450进行测试了。

        

        当我们连接MySQL Router的读写分离端口6450后,对测试库(test)的测试表(xm)进行 insert、update、delete操作时,会发现xm表数据会自动同步到集群中的3个实例中了。

当我们模拟master实例(端口3310)宕机后,再次在Shell中查看集群状态时,会发现主实例自动切换为原先端口为3311的从实例了:

此时我们通过Navicat连接MySQL Router的读写分离端口6450,对测试表xm添加一条记录:

会发现正常运行的两个实例3311、3312仍然能正常同步数据(3310实例此时已经噶了):

然后我们重启启动端口为3310的实例,再次查看集群状态,会发现3310作为从库上线了:

此时查看下3310实例的xm表数据,会发现刚才宕机时插入其他实例的数据也自动同步过来了:

常用集群命令

-重新加入集群
cluster.rejoinInstance('root@192.168.1.8:3312')
cluster.rejoinInstance('root@192.168.1.8:3313')

-删除实例
cluster.removeInstance('root@192.168.1.8:3312')
cluster.removeInstance('root@192.168.1.8:3313')

-强制删除实例
cluster.removeInstance('root@192.168.1.8:3312',{force:true})
cluster.removeInstance('root@192.168.1.8:3313',{force:true})

-配置实例
dba.configureLocalInstance('root@localhost:3313');

-解散集群
cluster.dissolve({force:true})

其他集群命令可参考以下文章:

https://www.cnblogs.com/wangjunjiehome/p/16267655.html

参考文章:

https://www.cnblogs.com/kingdevops/articles/17868941.html


 

  • 28
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Linux系统上进行MySQL 8.0源码安装,你可以按照以下步骤进行操作: 1. 下载源码包并解压:使用提供的下载地址下载源码包,并通过以下命令解压: tar -xf mysql-boost-8.0.18.tar.gz 2. 进入解压后的目录:使用cd命令进入解压后的源码目录: cd mysql-boost-8.0.18 3. 配置编译选项并进行编译安装:使用cmake命令配置编译选项,然后使用make命令进行编译,最后使用make install命令进行安装,具体命令如下: cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DSYSCONFDIR=/etc \ -DWITH_EXTRA_CHARSETS=all \ -DMYSQL_DATADIR=/data/mysql \ -DWITH_BOOST=/opt/mysql-8.0.18/boost \ -DFORCE_INSOURCE_BUILD=1 \ -DCMAKE_CXX_COMPILER=/usr/local/gcc-8.3.0/bin/g make make install 4. 创建mysql用户并赋予权限:使用以下命令创建mysql用户,并为配置文件中的相关目录和文件赋予mysql用户权限: useradd mysql chown -R mysql:mysql /usr/local/mysql chown -R mysql:mysql /data/mysql 5. 数据初始化并启动MySQL:使用以下命令进行数据初始化,并启动MySQL 8.0服务: cd /usr/local/mysql/bin/ ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/ cp /opt/mysql-8.0.18/mysql-files/mysql.server /etc/init.d/ service mysql start 6. 验证登录:使用以下命令登录验证MySQL 8.0是否安装成功: mysql -u root -p 请注意,以上步骤仅适用于Linux系统。如果你使用的是其他操作系统,请参考相应的安装文档进行安装。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [mysql 8.0源码安装](https://blog.csdn.net/shitou_234/article/details/130488515)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [【MySQLMySQL 8.0 源码安装详解](https://blog.csdn.net/weixin_39974140/article/details/115005095)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值