目录
一、卸载mariadb
1、检查Linux是否安装了mariadb数据库
2.全部卸载
3. 检查mariadb是否全部卸载
二、 删除之前安装的mysql
1、查找以前是否装有mysql
2、查找之前安装的mysql的目录、并且删除mysql的文件和库
3、卸载后/etc/my.cnf不会删除,需要进行手工删除
三、安装并配置MySQL
1.创建mysql文件夹并切换路劲
2.下载mysql
3.解压mysql
4.重命名文件夹并删除压缩包
5.创建用户组以及用户和密码
6.授权用户
7.切换到bin目录下,初始化基础信息得到临时密码
8.编辑配置文件my.cnf
9.切换到mysql-8.0目录下,添加mysqld服务到系统
10.授权以及添加服务
11.启动mysql
12.查看启动状态
13.将mysql命令添加到系统指令
14.登录mysql,密码使用之前随机生成的密码
15.修改root密码
16.执行 flush privileges 使密码生效
17.选择mysql数据库
18.修改远程连接并生效,%表示开启远程权限
19.退出MySQL:
20.查看mysql是否开机启动
三、Linux虚拟机防火墙开放端口号3306,实现MySQL远程连接
1.查看3306端口状态
2、如果是no,表示关闭,打开3306端口
3、防火墙重载
4、再次查看3306端口状态
四、登录MySQL
————————————————
一、卸载mariadb
如果Linux中安装了mariadb数据库,先卸载掉,因为CentOS 7 内部集成了mariadb,mariadb数据库是mysql的分支,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb
1、检查Linux是否安装了mariadb数据库
yum list installed | grep mariadb
无结果,说明未安装,否则需要全部卸载
2.全部卸载
yum -y remove mariadb*
3. 检查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的目录
3、卸载后/etc/my.cnf不会删除,需要进行手工删除
rm -rf /etc/my.cnf
三、安装并配置MySQL
1.创建mysql文件夹并切换路劲
local目录一般是linux上安装文件的地方,所以选这个路径
cd /usr/local
mkdir mysql
cd mysql
2.下载mysql
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
3.解压mysql
tar xvJf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz
4.重命名文件夹并删除压缩包
mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql-8.0
rm -rf mysql-8.0.30-linux-glibc2.12-x86_64
5.创建用户组以及用户和密码
groupadd mysql
useradd -g mysql mysql
为什么要创建mysql分组: 我们在编译安装的时候创建一个mysql组和一个mysql用户,并把datadir和安装目录属主改为mysql,在MySQL启动的时候,单进程mysqld,该进程的属主就是mysql,这样就保证了mysql服务的独立性,即便mysql服务被黑掉,得到了mysql用户权限,也不会影响整个系统的安全
6.授权用户
chown -R mysql.mysql /usr/local/mysql/mysql-8.0
7.切换到bin目录下,初始化基础信息得到临时密码
cd bin
./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql/mysql-8.0/data/ --initialize
8.编辑配置文件my.cnf
如果没有 my.cnf 文件就通过命令 touch /etc/my.cnf 创建一个
vi /etc/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'
9.切换到mysql-8.0目录下,添加mysqld服务到系统
cd /usr/local/mysql/mysql-8.0
cp -a ./support-files/mysql.server /etc/init.d/mysql
10.授权以及添加服务
chmod +x /etc/init.d/mysql
chkconfig --add mysql
11.启动mysql
service mysql start
12.查看启动状态
service mysql status
13.将mysql命令添加到系统指令
ln -s /usr/local/mysql/mysql-8.0/bin/mysql /usr/bin
实现在任何目录下执行 mysql -uroot -p 就可以进行登录
14.登录mysql,密码使用之前随机生成的密码
mysql -uroot -p
————————————————
如果出现报错 error while loading shared libraries: libtinfo.so.5 解决办法
ls /usr/lib64
为此命令创建一个同步链接并命名为libtinfo.so.5即可
ln -s /usr/lib64/libtinfo.so.6.2 /usr/lib64/libtinfo.so.5
注:不同Linux版本下的 libtinfo.so 版本号可能不同,根据自己的修改
15.修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
修改root用户密码为 123456 ,也可以换成别的
16.执行 flush privileges 使密码生效
flush privileges;
17.选择mysql数据库
use mysql;
18.修改远程连接并生效,%表示开启远程权限
update user set host='%' where user='root';
flush privileges;
19.退出MySQL:
\q
20.查看mysql是否开机启动
chkconfig --list
如果 mysql服务的 第3、4、5项都是开着的,则已经开启了开机启动,反之则没有。
如果没有,可以用命令设置开机自启动:
systemctl enable mysqld.service
再次查看mysql是否开机启动:
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后跟密码
————————————————
版权声明:本文为CSDN博主「程序前行者」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_62808124/article/details/126436925