提示:Centos 7.9 安装mysql数据库,这里采用压缩版。
文章目录
- 一、卸载mariadb
- 二、卸载旧mysql库
- 三、安装配置mysql库
- 1、创建mysql文件,将mysql库安装在指定路径下
- 2、下载mysql安装包
- 3、解压重命名mysql
- 4、创建用户组以及用户和密码
- 5、授权用户
- 6、切换到bin目录下,初始化基础信息得到临时密码
- 7、编辑配置文件my.cnf
- 8、切换到mysql-8.0目录下,添加mysqld服务到系统
- 9、授权以及添加服务
- 10、启动mysql
- 11、查看启动状态
- 12、将mysql命令添加到系统指令
- 13、登录mysql,密码使用之前随机生成的密码
- 14、修改root密码
- 15、执行 flush privileges 使密码生效
- 16、选择mysql数据库
- 17、修改远程连接并生效,%表示开启远程权限
- 18、退出MySQL:\q ,查看mysql是否开机启动
- 四、Linux虚拟机防火墙开放端口号3306,实现MySQL远程连接
- 五、登录MySQL
- 总结
一、卸载mariadb
如果Linux中安装了mariadb数据库,先卸载掉,因为CentOS 7 内部集成了mariadb,mariadb数据库是mysql的分支,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb。
1、检查Linux是否安装了mariadb数据库
yum list installed | grep mariadb
2、卸载mariadb数据库
yum -y remove mariadb*
yum list installed | grep mariadb -- 再次检查是否卸载干净
二、卸载旧mysql库
1、查找旧mysql库
rpm -qa | grep -i mysql
无结果,说明未安装mysql或已经卸载彻底,直接安装mysql即可,否则需要删除旧mysql 库。
2、卸载旧mysql库,查找旧mysql的目录、删除旧mysql的文件和库 。
find / -name mysql -- 查找mysql文件
rm -rf mysql* -- 删除mysql文件
rm -rf /etc/my.cnf -- 删除my.cnf文件
三、安装配置mysql库
1、创建mysql文件,将mysql库安装在指定路径下
cd /usr/local -- 一般默认安装在这个路径下
mkdir mysql
2、下载mysql安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
https://dev.mysql.com/downloads/mysql/ -- mysql下载地址
rpm -qa | grep glibc -- 查看自己操作系统的glibc版本

这里可以根据自己的需要和操作系统选择,注意自己操作系统的glibc版本和mysql的glibc版本一致。
3、解压重命名mysql
tar xvJf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz -- 解压压缩包
mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql-8.0 -- 重命名
rm -rf mysql-8.0.30-linux-glibc2.12-x86_64 -- 删除压缩包
4、创建用户组以及用户和密码
groupadd mysql
useradd -g mysql mysql
为什么要创建mysql分组: 我们在编译安装的时候创建一个mysql组和一个mysql用户,并把datadir和安装目录属主改为mysql,在MySQL启动的时候,单进程mysqld,该进程的属主就是mysql,这样就保证了mysql服务的独立性,即便mysql服务被黑掉,得到了mysql用户权限,也不会影响整个系统的安全 。
5、授权用户
chown -R mysql.mysql /usr/local/mysql/mysql-8.0
6、切换到bin目录下,初始化基础信息得到临时密码
cd bin
./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql/mysql-8.0/data/ --initialize
7、编辑配置文件my.cnf
vi /etc/my.cnf
如果没有 my.cnf 文件就创建一个。
touch /etc/my.cnf
my.cnf配置文件内容如下:
[mysql]
#MySQL 提示符配置
#用户名@主机名+数据库名
#prompt="\\u@\\h [\\d]>"
#用户名@主机名+mysql版本号+数据库名
prompt=\\u@\\h \\v [\\d]>\\_
#用户名@主机名+当前时间+mysql版本号+数据库名
#prompt="(\\u@\\h) \\R:\\m:\\s \\v [\\d] \n>"
[mysqld]
#mysql安装根目录
basedir = /usr/local/mysql/mysql-8.0/
#mysql数据文件所在位置
datadir = /usr/local/mysql/mysql-8.0/data/
#设置socke文件所在目录
socket = /tmp/mysql.sock
#数据库默认字符集, 主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server = utf8mb4
#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server = utf8mb4_general_ci
#设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
这里datadir和basedir按照自己需求自己创建。

8、切换到mysql-8.0目录下,添加mysqld服务到系统
cd /usr/local/mysql/mysql-8.0
cp -a ./support-files/mysql.server /etc/init.d/mysql
9、授权以及添加服务
chmod +x /etc/init.d/mysql
chkconfig --add mysql
10、启动mysql
service mysql start
11、查看启动状态
service mysql status
12、将mysql命令添加到系统指令
ln -s /usr/local/mysql/mysql-8.0/bin/mysql /usr/bin
实现在任何目录下执行 mysql -uroot -p 就可以进行登录。
13、登录mysql,密码使用之前随机生成的密码
mysql -uroot -p
14、修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
15、执行 flush privileges 使密码生效
flush privileges; -- 刷新配置文件
16、选择mysql数据库
use mysql;
17、修改远程连接并生效,%表示开启远程权限
update user set host='%' where user='root';
flush privileges; -- 刷新配置文件
18、退出MySQL:\q ,查看mysql是否开机启动
chkconfig --list
如果 mysql服务的 第3、4、5项都是开着的,则已经开启了开机启动,反之则没有。
如果没有,可以用命令设置开机自启动。
systemctl enable mysqld.service
chkconfig --list -- 再次查看是否设置开机自启
四、Linux虚拟机防火墙开放端口号3306,实现MySQL远程连接
1.查看3306端口状态
firewall-cmd --zone=public --query-port=3306/tcp
2、如果是no,表示关闭,打开3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
3、防火墙重载
firewall-cmd --reload
4、再次查看3306端口状态
firewall-cmd --zone=public --query-port=3306/tcp
yes,说明端口已经打开,去navicat测试连接,输入ip和root账户密码,即可成功!
五、登录MySQL
执行下面命令,输入密码“123456”并确认:
mysql -uroot -p
或者执行下面命令一键登录:
mysql -uroot -hlocalhost -p123456
注:-p后跟密码
总结
这里感谢原作者技术分享,这里仅作为记录和学习使用,附上原文链接。
原文链接:https://blog.csdn.net/m0_62808124/article/details/126436925


2万+

被折叠的 条评论
为什么被折叠?



