先进入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 |
±-----------------------±------+
看到以上信息就代表我们已经大功告成了
需要注意的一点就是:我们在设置忽略大小写的时候,数据库中最好不要有数据库的名字已经使用大小写区分,具体原因大家也可以自行尝试
标签:--,MySQL5.7,CentOS7,etc,usr,mysql,安装,mysql5.7,software
From: https://www.cnblogs.com/lanblogs/p/17011676.html