Linux下二进制安装Mysql
1.环境准备
2.上传文件并建相关目录
3.创建软链接
4.创建用户并赋权限
5.修改环境变量
6.初始化数据库
7.启动服务
8.客户端访问
9.如何使用systemctl启停服务
10.卸载MySQL
Linux下二进制安装Mysql
访问官方网站[1],选择合适的版本进行下载安装。
链接:https://pan.baidu.com/s/1cr3QiXHfZf7z_7oGIu0gHQ 提取码:6ow7 (版本:mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz)
1.环境准备
准备操作系统:CentOS Linux release 7.8.2003 (Core)
MySQL安装包:mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
MySQL生产环境下规划:
系统盘:安装操作系统 数据盘:安装数据库(以1块数据盘为例,实际中存在存储服务器及多路径配置,在此省略) 数据盘业务用途,建多级目录以便区分
有些依赖包需要提前安装好:yun install libaio -y
2.上传文件并建相关目录
在数据盘里建相关的目录,我们在实践中如下规划:
/jssdb:在根目录下建立jssdb目录,用于挂在数据盘。 /jssdb/mysql/data/3306/data :定义存放某1个数据库文件 /jssdb/mysql/log/3306:用于存放某一个MySQL的相关日志 /jssdb/soft:存放用到的软件 /jssdb/backup:存放数据库备份文件
[root@jssdb01 ~]# mkdir -p /jssdb/mysql/data/3306/data
[root@jssdb01 ~]# mkdir -p /jssdb/mysql/log/3306
[root@jssdb01 ~]# mkdir -p /jssdb/soft
[root@jssdb01 ~]# mkdir -p /jssdb/backup复制
上传到/jssdb/soft下,并解压缩到/jssdb/mysql下:
[root@jssdb01 soft]# ls
mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
[root@jssdb01 soft]# tar -zxvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz -C /jssdb/mysql/
[root@jssdb01 soft]# cd /jssdb/mysql/
[root@jssdb01 mysql]# ls
data mysql-5.7.32-linux-glibc2.12-x86_64 log复制
3.创建软链接
#不修改原来的配置
[root@jssdb01 mysql]# ln -s mysql-5.7.32-linux-glibc2.12-x86_64 mysql
[root@jssdb01 mysql]# ls -l
总用量 0
drwxr-xr-x 2 root root 6 1月 11 12:39 data
lrwxrwxrwx 1 root root 35 1月 11 14:38 mysql -> mysql-5.7.32-linux-glibc2.12-x86_64
drwxr-xr-x 9 root root 129 1月 11 12:47 mysql-5.7.32-linux-glibc2.12-x86_64
[root@jssdb01 mysql]# cd mysql
[root@jssdb01 mysql]# ls
bin docs include lib LICENSE man README share support-files
[root@jssdb01 mysql]# cd bin/
[root@jssdb01 bin]# ls
innochecksum mysqladmin mysqld_multi mysqlpump mysqlxtest
lz4_decompress mysqlbinlog mysqld_safe mysql_secure_installation perror
myisamchk mysqlcheck mysqldump mysqlshow replace
myisam_ftdump mysql_client_test_embedded mysqldumpslow mysqlslap resolveip
myisamlog mysql_config mysql_embedded mysql_ssl_rsa_setup resolve_stack_dump
myisampack mysql_config_editor mysqlimport mysqltest_embedded zlib_decompress
my_print_defaults mysqld mysql_install_db mysql_tzinfo_to_sql
mysql mysqld-debug mysql_plugin mysql_upgrade复制
4.创建用户并赋权限
[root@jssdb01 ~]# groupadd mysql
[root@jssdb01 ~]# useradd -r -g mysql -s /sbin/nologin mysql
[root@jssdb01 ~]# cat /etc/passwd|grep mysql
mysql:x:997:1001::/home/mysql:/sbin/nologin
[root@jssdb01 ~]# chown -R mysql:mysql /jssdb/mysql复制
5.修改环境变量
[root@jssdb01 ~]# vi ~/.bash_profile
PATH=$PATH:/jssdb/mysql/mysql/bin:$HOME/bin
[root@jssdb01 ~]# which mysql
/jssdb/mysql/mysql/bin/mysql
[root@jssdb01 ~]# mysql --version
mysql Ver 14.14 Distrib 5.7.32, for linux-glibc2.12 (x86_64) using EditLine wrapper复制
6.初始化数据库
准备my.cnf文件,j将其放在/jssdb/mysql/data/3306下 初始化之前确保权限(chown -R mysql:mysql jssdb/mysql)
[root@jssdb01 data]# mysqld --defaults-file=/jssdb/mysql/data/3306/my.cnf --initialize --user=mysql --basedir=/jssdb/mysql/mysql --datadir=/jssdb/mysql/data/3306/data
复制
7.启动服务
[root@jssdb01 data]# /jssdb/mysql/mysql/bin/mysqld_safe --defaults-file=/jssdb/mysql/data/3306/my.cnf --user=mysql&
[root@jssdb01 data]# ps -ef |grep mysql
root 8803 8640 0 17:27 pts/4 00:00:00 /bin/sh /jssdb/mysql/mysql/bin/mysqld_safe --defaults-file=/jssdb/mysql/data/3306/my.cnf --user=mysql
mysql 9421 8803 13 17:27 pts/4 00:00:01 /jssdb/mysql/mysql/bin/mysqld --defaults-file=/jssdb/mysql/data/3306/my.cnf --basedir=/jssdb/mysql/mysql/ --datadir=/jssdb/mysql/data/3306/data --plugin-dir=/jssdb/mysql/mysql//lib/plugin --user=mysql --log-error=/jssdb/mysql/log/3306/jssdb-error.err --pid-file=/jssdb/mysql/data/3306/mysql.pid --socket=/jssdb/mysql/data/3306/mysql.sock --port=3306
root 9453 8640 0 17:27 pts/4 00:00:00 grep --color=auto mysql
[root@jssdb01 data]#复制
查看日志是否有报错:
[root@jssdb01 3306]# pwd
/jssdb/mysql/log/3306
[root@jssdb01 3306]# tail -1000f jssdb-error.err复制
没有报错则启动正常。
8.客户端访问
查看启动日志,获得默认的初始密码:6Vd%:krC-uwQ
[root@jssdb01 3306]# tail -1000f jssdb-error.err |grep password
2021-01-11T09:22:23.775975Z 1 [Note] A temporary password is generated for root@localhost: 6Vd%:krC-uwQ
[root@jssdb01 data]# mysql -uroot -hlocalhost -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
[root@jssdb01 3306]# ln -s /jssdb/mysql/data/3306/mysql.sock /tmp/
[root@jssdb01 3306]# mysql -uroot -hlocalhost -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.32-log
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> set password=password('Jssdb123.23');
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
mysql> select version();
+------------+
| version() |
+------------+
| 5.7.32-log |
+------------+
1 row in set (0.00 sec)
mysql>复制
9.如何使用systemctl启停服务
修改/jssdb/mysql/mysql/support-files/mysql.server文件
关注公众号:数据库BOSS,回复A0023
在/usr/lib/systemd/system中添加 mysqld.service
关注公众号:数据库BOSS,回复A0023
[root@jssdb01 ~]# systemctl start mysqld
[root@jssdb01 ~]# ps -ef |grep mysql
mysql 11731 1 0 19:16 ? 00:00:00 /bin/sh /jssdb/mysql/mysql//bin/mysqld_safe --defaults-file=/jssdb/mysql/data/3306/my.cnf --datadir=/jssdb/mysql/data/3306/data --pid-file=/jssdb/mysql/data/3306/mysql.pid
mysql 12369 11731 14 19:16 ? 00:00:01 /jssdb/mysql/mysql/bin/mysqld --defaults-file=/jssdb/mysql/data/3306/my.cnf --basedir=/jssdb/mysql/mysql/ --datadir=/jssdb/mysql/data/3306/data --plugin-dir=/jssdb/mysql/mysql//lib/plugin --log-error=/jssdb/mysql/log/3306/jssdb-error.err --pid-file=/jssdb/mysql/data/3306/mysql.pid --socket=/jssdb/mysql/data/3306/mysql.sock --port=3306
root 12404 8640 0 19:16 pts/4 00:00:00 grep --color=auto mysql
[root@jssdb01 ~]# systemctl enable mysqld
Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.复制
10.卸载MySQL
取消开机启动 停止mysql服务 删除MySQL安装过程中创建的目录
参考资料
官方网站: https://dev.mysql.com/downloads/mysql/
文章转载自数据库BOSS,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【MySQL 30周年庆】MySQL 8.0 OCP考试限时免费!教你免费领考券
墨天轮小教习
844次阅读
2025-04-25 18:53:11
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
严少安
524次阅读
2025-04-25 15:30:58
墨天轮个人数说知识点合集
JiekeXu
452次阅读
2025-04-01 15:56:03
MySQL数据库当前和历史事务分析
听见风的声音
429次阅读
2025-04-01 08:47:17
MySQL 生产实践-Update 二级索引导致的性能问题排查
chengang
392次阅读
2025-03-28 16:28:31
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
372次阅读
2025-04-17 17:02:24
MySQL 9.3 正式 GA,我却大失所望,新特性亮点与隐忧并存?
JiekeXu
358次阅读
2025-04-15 23:49:58
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
335次阅读
2025-04-15 14:48:05
openHalo问世,全球首款基于PostgreSQL兼容MySQL协议的国产开源数据库
严少安
308次阅读
2025-04-07 12:14:29
记录MySQL数据库的一些奇怪的迁移需求!
陈举超
204次阅读
2025-04-15 15:27:53