CentOS7安装MySQL5.7

先进入MySQL Community Downloads(https://dev.mysql.com/downloads/),选择使用红色红框标记的菜单 MySQL Community Server

因为我们这里示范安装的是MySQL 5.7.38,所以进入之后点击“Archives”

接着按照以下步骤操作

由于在linux上下载比较快,所以,先使用yum安装wget

yum install wget

然后使用wget下载mysql文件包(通常都是下载到指定文件夹下,这里是在"/usr/local/"目录)

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

下载完成后解压mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

#解压
tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz
#将mysql-5.7.38-linux-glibc2.12-x86_64重命名为mysql
mv mysql-5.7.38-linux-glibc2.12-x86_64 mysq

创建用户组和用户并修改权限

groupadd mysql
useradd -r -g mysql mysql

创建数据目录并赋予权限

#创建数据库目录
mkdir -p  /data/mysql
#赋予数据库目录权限
chown mysql:mysql -R /data/mysql

修改配置“/etc/my.cnf”

vim /etc/my.cnf

检查系统是否安装过MySQL用户组,没有就创建
检查mysql 用户组是否存在
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql


这里不显示就代表没有。

创建mysql 用户组和用户
代码和结果如下:

groupadd mysql
useradd -r -g mysql mysql


重新查看用户组:

 


四、卸载CentOS7系统自带的数据库
查看系统自带的Mariadb
rpm -qa|grep mariadb


卸载系统自带的Mariadb
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64


此时再执行查询就没有这个数据库了。

删除etc目录下的my.cnf ,后面再重新建。
这里的etc目录在根目录下面。

rm /etc/my.cnf
五、安装mysql5.7
解压安装mysql安装包到目录下
tar -zxvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz


修改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 /usr/software/mysql5.7
chmod -R 755 /usr/software/mysql5.7


进入/usr/software/mysql5.7/bin/目录,编译安装并初始化mysql,务必记住数据库管理员临时密码。在最后一行。
./mysqld --initialize --user=mysql --datadir=/usr/software/mysql5.7/data --basedir=/usr/software/mysql5.7


如图,此密码就是qy2Hg+mL%=1Q

编写etc目录下的my.cnf 配置文件,并添加配置
上面将my.cnf删除了,这里也可以新建一个然后进入。

vi /etc/my.cnf
将下面的复制到文件中,然后保存

[mysqld]
datadir=/usr/software/mysql5.7/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
授予my.cnf 配置文件775权限,如下:
chmod -R 775 /etc/my.cnf
修改/usr/software/mysql5.7/support-files/目录下的mysql.server文件,如下图中5个位置的/usr/local/mysql全部修改成/usr/software/mysql5.7。
因为没有安装在默认的/usr/local/mysq目录下,所以需要修改成自己安装的路径。


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

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

 

2、启动服务

/usr/software/mysql5.7/support-files/mysql.server start


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


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


修改初始密码为自己的密码
set password for root@localhost = password('xxxxxxx');


开放远程连接
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;


设置开机自启

cp /usr/software/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


这里爆红是因为我之间就开放过3306端口。

在连接数据库的时候发现库里有表的名字只是大小写不一样,但就是连不上,我用的是mysql5.7.8.

默认没有开启忽略大小写,这里记录一下。

1. 查看数据库大小写配置

show variables like '%lower%';
±-----------------------±------+
| Variable_name | Value |
±-----------------------±------+
| lower_case_file_system | ON |
| lower_case_table_names | 0 |
±-----------------------±------+

2. 使用root权限登录,修改配置文件 /etc/my.cnf
需要注意的是配置文件的位置不一定就是这个,我们在使用docker搭建环境的时候MySQL的默认配置文件的路径是:/etc/mysql/mysql.conf.d/mysqld.cnf,所以在修改的时候我们需要明确配置文件的路径

3. 在配置文件的[mysqld]节点下,加入一行:

lower_case_table_names=1
4. 重启MySQL :

systemctl restart mysqld.service
5. 查看数据库大小写配置

show variables like '%lower%';
±-----------------------±------+
| Variable_name | Value |
±-----------------------±------+
| lower_case_file_system | OFF |
| lower_case_table_names | 1 |
±-----------------------±------+
看到以上信息就代表我们已经大功告成了

需要注意的一点就是:我们在设置忽略大小写的时候,数据库中最好不要有数据库的名字已经使用大小写区分,具体原因大家也可以自行尝试

 
posted @ 2022-12-29 08:55  bluesky1  阅读(455)  评论(0编辑  收藏  举报