centos7安装mysql5.7

一、下载mysql5.7安装包

下载地址:https://dev.mysql.com/downloads/mysql/5.7.html

在这里插入图片描述

在这里插入图片描述

二、mysql5.7安装包上传到linux服务器

linux服务器根目录下新建文件夹:
1)、 tool文件夹,存放软件安装包
2)、 xz文件夹,存放安装后的软件

将下载好的mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz上传至tool文件夹下:
在这里插入图片描述

三、检查系统是否安装过mysql

检查系统是否安装过mysql,如果没有略过此步骤:如下图:

//检查系统中有无安装过mysql
[root@localhost tool]# rpm -qa|grep mysql

在这里插入图片描述

如果系统自带mysql,查询所有mysql 对应的文件夹,全部删除

 whereis mysql
 find / -name mysql

在这里插入图片描述

四、卸载CentOS7系统自带mariadb

查看系统自带的Mariadb

rpm -qa|grep mariadb

卸载系统自带的Mariadb

rpm -e --nodeps mariadb-libs-5.5.60-1.el7-5.x86_64

删除etc目录下的my.cnf ,一定要删掉,等下再重新建,之前我将就用这个文件,后面改配置各种不生效,因为lz此目录下没有my.cnf文件,没有执行可命令

rm /etc/my.cnf

以上命令截图如下:
在这里插入图片描述

在这里插入图片描述

五、检查有无安装过mysql 用户组,没有的话创建

检查mysql 用户组是否存在

cat /etc/group | grep mysql
cat /etc/passwd |grep mysql

创建mysql 用户组和用户

groupadd mysql
useradd -r -g mysql mysql

六、安装mysql5.7步骤

解压安装mysql安装包到/xz/目录下

tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz -C  /xz/

修改mysql-5.7.36-linux-glibc2.12-x86_64名称为mysql5.7

mv mysql-5.7.36-linux-glibc2.12-x86_64/ mysql5.7

更改mysql5.7 目录下所有文件夹所属的用户组、用户以及权限

chown -R mysql:mysql /xz/mysql5.7
chmod -R 755 /xz/mysql5.7

进入/xz/mysql5.7/bin/目录,编译安装并初始化mysql。
务必记住数据库管理员临时密码,如下图画红色框的部分。

./mysqld --initialize --user=mysql --datadir=/xz/mysql5.7/data --basedir=/xz/mysql5.7

在这里插入图片描述

编写etc目录下的my.cnf 配置文件,并添加配置

//进入配置文件
vi /etc/my.cnf

//在插入模式下编写,完成后保存,当然这个可以自己添加

[client]
default-character-set=utf8

[mysql]
#解决客户端乱码问题
default-character-set=utf8

[mysqld]
#解决服务端乱码问题
character-set-server=utf8
# 安装目录
basedir=/xz/mysql5.7
# 数据存放目录
datadir=/xz/mysql5.7/data
#日志及进程数据的存放目录
log-error=/xz/mysql5.7/data/mysqld.log
pid-file=/xz/mysql5.7/data/mysqld.pid
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
#表名大小写不明感,敏感为1
lower_case_table_names=1

关于/var/run/mysqld丢失的原因

先/var/run/下有mysqld目录,并赋予mysql属主/组权限,否则依然无法启动。完成后重新启动mysqld,这时启动成功。

相关经验表明这是mysql5.7的一个BUG,当你停止mysql服务时,/ var/run/mysqld会被删除,且/var/run/mysqld 目录每次重启后都需要手动去创建,是因为/var/run/目录下建立文件夹是在内存中,故每次重启后内存被清空导致/var/run/mysqld 也被清除,从而导致无法启动mysql。可尝试:

将pid-file=/var/run/mysqld/mysqld.pid修改为 pid-file=/var/lib/mysqld/mysqld.pid

授予my.cnf 配置文件775权限,如下:

chmod -R 775 /etc/my.cnf

修改/xz/mysql5.7/support-files/目录下的mysql.server文件,如下图中5个位置的/usr/local/mysql全部修改成/xz/mysql5.7。
因为lz没有安装下/usr/local/mysq目录下,所以需要修改成lz安装的/xz/mysql5.7目录。

在这里插入图片描述

启动mysql 服务器
1)、查询服务

ps -ef|grep mysql
ps -ef|grep mysqld

在这里插入图片描述

2)、启动服务

 /xz/mysql5.7/support-files/mysql.server start

在这里插入图片描述

添加软连接,并重启mysql 服务

//添加软连接
ln -s /xz/mysql5.7/support-files/mysql.server /etc/init.d/mysql
ln -s /xz/mysql5.7/bin/mysql /usr/bin/mysql
//重启mysql服务
service mysql restart

登录mysql ,密码就是初始化时生成的临时密码

 mysql -u root -p

在这里插入图片描述

修改密码为root

set password for root@localhost = password('root');

在这里插入图片描述

开放远程连接

use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;

在这里插入图片描述

设置开机自启

//将服务文件拷贝到init.d下,并重命名为mysql
cp /xz/mysql5.7/support-files/mysql.server /etc/init.d/mysqld
//赋予可执行权限
chmod +x /etc/init.d/mysqld
//添加服务
chkconfig --add mysqld
//显示服务列表
chkconfig --list

在这里插入图片描述

开放3306端口,测试本地客户端是否连接成功

//开放3306端口命令
firewall-cmd --zone=public --add-port=3306/tcp --permanent
//配置立即生效
firewall-cmd --reload

在这里插入图片描述

在这里插入图片描述

至此,centos7安装mysql5.7完成,本客户端连接centos7中的mysql5.7服务端成功。

ERROR 1366 (HY000): Incorrect string value: ‘\xE5\x93\x88\xE5\x93\x88’ for column

字符集的编码问题,

解决1:通过命令方式(临时的)

mysql> show variables like 'character%';
+--------------------------+-----------------------------------+
| Variable_name            | Value                             |
+--------------------------+-----------------------------------+
| character_set_client     | utf8                              |
| character_set_connection | utf8                              |
| character_set_database   | latin1                            |
| character_set_filesystem | binary                            |
| character_set_results    | utf8                              |
| character_set_server     | latin1                            |
| character_set_system     | utf8                              |
| character_sets_dir       | /opt/mysql-5.7.30/share/charsets/ |
+--------------------------+-----------------------------------+
set character_set_database=utf8;
set character_set_server=utf8;
mysql> show variables like 'character%';

解决2:修改配置文件my.cnf

[client]
default-character-set=utf8

[mysql]
#解决客户端乱码问题
default-character-set=utf8

[mysqld]
#解决服务端乱码问题
character-set-server=utf8

停掉mysql:service mysqld stop

启动mysql:service mysqld start

原文链接:https://blog.youkuaiyun.com/li1325169021/article/details/121515102

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值