本文详细介绍了如何在Linux环境下安装配置MySQL 8.0.39,涵盖从下载安装到设置开机自启与远程访问的全过程。通过本教程,读者将能轻松搭建起稳定高效的企业级数据库中心,适用于各类Web应用及内部系统开发。特别适合初学者和IT运维人员学习参考。
MySQL数据库简介
MySQL已经成为世界上最受欢迎的数据库管理系统之一。无论是用在小型项目开发上,还是用来构建那些声名显赫的网站,像国外亚马逊、FaceBook,国内的淘宝、京东、腾讯等应用,都跟Mysql结下不解之缘。这足以充分证明了MySQL是个稳定、可靠、快速、可信的DBMS系统,足以胜任任何数据存储业务的需要。
MySQL数据库特点
(1)由于它的体积小、速度快、成本低、最重要的是开放源码。
(2)MySQL数据库是用C和C++语言编写的,并且使用了多种编辑器进行测试,以保证源码的可移植性
(3)支持多个操作系统例如:Windows、Linux、Mac OS等等
(4)支持多线程,可以充分的利用CPU资源
(5)为多种编程语言提供API,包括C语言,Java,PHP,Python语言等
(6)MySQL优化了SQL算法,有效的提高了查询速度
(7)MySQL内提供了用于管理,检查以及优化数据库操作的管理工具
(8)它能够作为一个单独的应用程序应用在客户端服务器网络环境中,也可以作为一个库嵌入到其他的软件中并提供多种语言支持。
任务描述
某企业选用MySQL关系型数据库构建内部系统统一的数据中心。
实训要求:
- 完成数据库MySQL安装和配置
- 设置MySQL开机自启
- 让MySQL支持远程访问
- Navicat工具连接并测试
任务实施
以数据库8.0.39为例进行实战练习
1、从官网下载mysql8.0.39安装包mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz
wget -c https://cdn.mysql.com/archives/mysql-8.0/mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz
2、解压
tar -xvf mysql-8.0.39-linux-glibc2.28-x86_64.tar.xz
3、重命名mysql-8.0.39-linux-glibc2.28-x86_64为mysql并复制到/usr/local/
mv mysql-8.0.39-linux-glibc2.28-x86_64 mysql
cp mysql/* /usr/local/mysql
4、创建数据库文件存储目录/app/data
mkdir -p /app/data
5、创建mysql用户
useradd mysql
#更改mysql属性组
chown -R mysql:mysql mysql
#同样数据存储目录也需要授权
chown -R mysql:mysql /app/data
6、新建/etc/my.cnf文件,内容如下:
[client]
default-character-set=utf8mb4
socket=/app/data/mysql.sock
[mysqld]
character-set-server=utf8mb4
user=mysql
lower_case_table_names=1
basedir=/usr/local/mysql
datadir=/app/data
socket=/app/data/mysql.sock
[mysqld_safe]
log-error=/app/data/mysql-error.log
pid-file=/app/data/mysqld.pid
7、初始化数据库并会在控制台上生成一个临时密码,记录下来,供启动数据库用,注意如果生成的密码中含有<>字符请用()来代替
cd /usr/local/mysql
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/app/data
8、启动数据库,如果系统出错,可查看日志文件 :/app/data/mysql-error.log
bin/mysqld_safe --user=mysql &
9、修改用户密码
mysql -uroot -p临时密码;
#再修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER;
10、登录测试
./mysql -uroot -proot
11、配置Mysql随Linux开机启动
cp support-files/mysql.server /etc/init.d/mysql.server
chkconfig --add mysql.server
12、以后数据库启动和停止可以通过systemctl来控制数据库的启动,关闭,自启,取消自启。
systemctl start/stop/restart mysql
systemctl enable mysql
systemctl disable mysql