MySQL8.0.12二进制安装

本文详细介绍了如何从零开始搭建MySQL8.0的测试环境,包括配置文件设置、用户目录创建、软件包解压、初始化及启动过程,以及如何解决初始密码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚好需要搭建一个测试环境,记录一下搭建过程。

1.配置文件
配置文件指定一些关键的选项,其他依照默认设定

[root@mysql8 mysql]# cat /etc/my.cnf
[mysql]
user=root
password=sam123
socket=/usr/local/mysql/mysql.sock
port=3306

[mysqld]
user=mysql
port=3306
basedir=/usr/local/mysql
socket=/usr/local/mysql/mysql.sock
pid-file=/usr/local/mysql/mysql.pid
log-error=/mysqlLog/logs/error.log
datadir=/mysqlData/data
tmpdir=/mysqlData/tmp

#server setting#
default_storage_engine=innodb
server_id=131
innodb_file_per_table=1

#undo setting#
innodb_undo_directory=/mysqlData/undo

#binlog setting#
log-bin=/mysqlLog/logs/mysql-bin
binlog_format=row
gtid_mode=on
enforce-gtid-consistency=true

2.新建用户及目录

groupadd mysql
useradd -r -g mysql -s /bin/false mysql
mkdir -p /mysqlData/{data,tmp,undo}
mkdir -p /mysqlLog/logs
chown mysql:mysql -R /mysqlData
chmod 750 -R /mysqlData
chown mysql:mysql -R /mysqlLog
chown mysql:mysql /etc/my.cnf

3.解压
下载的二进制压缩包是mysql-8.0.12-linux-glibc2.12-x86_64.tar,

tar -xf mysql-8.0.12-linux-glibc2.12-x86_64.tar

解压后会得到mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz和mysql-test-8.0.12-linux-glibc2.12-x86_64.tar.xz,再一次解压mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz

tar -xJf mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz

最终会得到mysql-8.0.12-linux-glibc2.12-x86_64目录,将其移至/usr/local路径下,改名为mysql,并修改系统PATH。

mv mysql-8.0.12-linux-glibc2.12-x86_64 /usr/local/mysql
chown mysql:mysql -R /usr/local/mysql
echo "PATH=$PATH:/usr/local/mysql/bin">>/etc/profile
source /etc/profile

4.万事俱备,只欠初始化

cd /usr/local/mysql
bin/mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql
bin/mysql_ssl_rsa_setup

查看error.log,会有一个临时密码,使用其登录并修改密码,才能继续使用数据库。

2018-12-05T05:25:46.612446Z 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.12) initializing of server in progress as process 3370
2018-12-05T05:25:51.971271Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: puHiDo_yr4z8
2018-12-05T05:26:00.470129Z 0 [System] [MY-013170] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.12) initializing of server has completed

5.启动实例,修改密码,喝杯咖啡
启动实例前,最好检查一下所有相关目录和文件的权限是否有误,否则chown mysql:mysql -R进行修复。

cd /usr/local/mysql
bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &

启动成功后,会在error.log看到如下日志:

2018-12-05T05:27:29.317822Z 0 [System] [MY-010116] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.12) starting as process 3734
2018-12-05T05:27:30.896100Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed.
2018-12-05T05:27:31.081157Z 0 [System] [MY-010931] [Server] /usr/local/mysql/bin/mysqld: ready for connections. Version: '8.0.12'  socket: '/usr/local/mysql/mysql.sock'  port: 3306  MySQL Community Server - GPL.

使用临时密码登录并修改密码:

[root@mysql8 mysql]# mysql -uroot -p'puHiDo_yr4z8'

mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

mysql> alter user user() identified by 'sam123';
Query OK, 0 rows affected (0.08 sec)

mysql> select user();
+----------------+
| user()         |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.11 sec)

最后的收尾工作,方便日后的管理。

cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysql

如此,即可通过service mysql start|stop|restart的方式快速管理实例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值