通过二进制包(Generic Binaries)的方式安装MySQL8,可以清楚的了解到MySQL的安装细节:有哪些程序文件,数据库数据目录如何初始化,如何以服务方式启动,如何设置 root 用户密码等等。
官方文档在:2.2 Installing MySQL on Unix/Linux Using Generic Binaries
腾讯云主机一台:Ubuntu 20.04
curl https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz -O mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
tar xvf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz
sudo mv mysql-8.0.28-linux-glibc2.12-x86_64 /usr/local/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
Generic 安装包内不含 my.cnf,手动创建 /etc/my.cnf。以下是简易配置,按需修改:
[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/data/mysql
max_connections=1000
max_connect_errors=100
character-set-server=utf8mb4
default-storage-engine=INNODB
lower_case_table_names = 1
interactive_timeout = 1800
wait_timeout = 1800
[mysql]
default-character-set=utf8mb4
[client]
port=3306
default-character-set=utf8mb4
创建 mysql 用户,创建 /data/mysql 文件夹,执行初始化。这里使用 --initialize-insecure 参数初始化,会使 root 用户初始密码为空。
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
sudo mkdir -p /data/mysql
sudo chown mysql:mysql /data/mysql
sudo chmod 750 /data/mysql
sudo /usr/local/mysql/bin/mysqld --initialize-insecure --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql
sudo /usr/local/mysql/bin/mysql_ssl_rsa_setup --basedir=/usr/local/mysql --datadir=/data/mysql --uid=mysql
拷贝安装包内提供的服务文件,启动 MySQL
sudo cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server
sudo systemctl daemon-reload
sudo /etc/init.d/mysql.server start
本地登录 mysql 前,需要安装一个客户端依赖包
sudo apt install libncurses5 -y
以 root 用户/空密码方式登录 mysql
mysql -u root --skip-password
修改 root 密码为 123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
这样,MySQL 就可以使用了。
通过持续部署(CD)系统,把这些步骤编排为流水线,可以在其他机器上自动完成MySQL的安装。这里我使用的是 Y20持续部署,流水线已经编排好了 Ubuntu安装MySQL 。接入自己的节点就可运行。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有