Linux下安装MySql5.7.18

目录

一、rmp形式安装

1、上传离线安装包mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar

 2、创建mysql用户

3、安装mysql-community-common-5.7.18-1.el7.x86_64.rpm

4、安装mysql-community-libs-5.7.18-1.el7.x86_64.rpm

5、安装mysql-community-client-5.7.18-1.el7.x86_64.rpm

6、安装mysql-community-server-5.7.18-1.el7.x86_64.rpm

二、二进制文件(glibc)形式安装

1、上传离线安装包mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

2、创建mysql用户

3、解压

4、初始化数据库

5、指定数据存放位置,修改配置文件

6、先启动一次数据库,需要让其创建mysql.sock、mysqld.pid文件

7、设置开机启动

8、配置环境变量

三、启动、停止、密码

1、启动mysql

2、查看mysql状态

3、查看默认登录密码

4、登录

5、修改密码

6、授权远程连接

7、修改密码安全级别

8、开启端口


一、rmp形式安装

可以指定数据文件位置、日志位置,不能指定安装位置。

1、上传离线安装包mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar

上传至/opt下,解压:

tar -xvf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar

 2、创建mysql用户

由于mysql数据库它自己需要使用一个名为mysql的用户。

groupadd mysql              #创建名为mysql的分组
useradd mysql               #创建名为mysql的用户
passwd mysql                #给mysql用户设置密码
gpasswd -a mysql mysql      #将mysql用户加入到mysql分组中

3、安装mysql-community-common-5.7.18-1.el7.x86_64.rpm

rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm


若出现如上所示错误,执行:

yum -y remove mariadb-libs

再次安装: 

4、安装mysql-community-libs-5.7.18-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm

5、安装mysql-community-client-5.7.18-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm

6、安装mysql-community-server-5.7.18-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm

若提示需要libaio.so.1,且安装libaio.so.1时提示已安装,考虑换旧版本libaio.so.1 
查看已安装的libaio版本:rpm -qa | grep -i libaio
卸载:yum remove libaio-0.3.109-13.el7.i686
上传libaio-0.3.107-10.el6.x86_64.rpm离线包
安装libaio:rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
再次安装mysql-community-server-5.7.18-1.el7.x86_64.rpm

7、指定数据存放位置,修改配置文件:

mkdir /data/mysql
chmod 777 /data/mysql
vi /etc/my.cnf

配置文件内容:

[mysqld]
datadir=/data/mysql/data            #由mysql自动创建,属主为mysql
socket=/data/mysql/data/mysql.sock
[client]
default-character-set=utf8
socket=/data/mysql/data/mysql.sock
[mysql]
default-character-set=utf8
socket=/data/mysql/data/mysql.sock

二、二进制文件(glibc)形式安装

可以指定安装位置、数据文件位置、日志位置。

1、上传离线安装包mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz

上传至/opt下

chmod 777 /opt

2、创建mysql用户

由于mysql数据库它自己需要使用一个名为mysql的用户。

groupadd mysql              #创建名为mysql的分组
useradd mysql               #创建名为mysql的用户
passwd mysql                #给mysql用户设置密码
gpasswd -a mysql mysql      #将mysql用户加入到mysql分组中

3、解压

su mysql
tar -zxvf /opt/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /opt
mv /opt/mysql-5.7.18-linux-glibc2.5-x86_64 /opt/mysql
mkdir /opt/mysql/data
mkdir /opt/mysql/logs
exit

4、初始化数据库

su mysql
/opt/mysql/bin/mysqld --initialize --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data --log-error=/opt/mysql/logs/mysqld.log --explicit_defaults_for_timestamp
exit

5、指定数据存放位置,修改配置文件

/etc/my.cnf位置是mysql通用配置,若要配单独使用,则在mysql安装路径下建立

vi /etc/my.cnf    #通用配置
#vi /opt/mysql/my.cnf    #独立配置,不建议,会出现.sock文件问题,目前未找到解决办法

配置文件内容:

[mysqld]
datadir=/opt/mysql/data
socket=/opt/mysql/data/mysql.sock
user=mysql
symbolic-links=0

[mysqld_safe]
log-error=/opt/mysql/logs/mysqld.log
pid-file=/opt/mysql/data/mysqld.pid

[client]
default-character-set=utf8
socket=/opt/mysql/data/mysql.sock

[mysql]
default-character-set=utf8
socket=/opt/mysql/data/mysql.sock

6、先启动一次数据库,需要让其创建mysql.sock、mysqld.pid文件

su mysql
/opt/mysql/bin/mysqld_safe

然后kill掉mysql进程。
执行mysqld_safe时可能会卡住,不用管,只要/opt/mysql/data/mysql.sock文件正常创建了就行。反正都是要kill掉进程的。

exit

7、设置开机启动

cp /opt/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
vim /etc/rc.d/init.d/mysqld

更改

basedir=/opt/mysql
datadir=/opt/mysql/data

 chmod +x /etc/rc.d/init.d/mysqld

将 mysqld 服务加入到系统服务并检测是否生效

chkconfig --add mysqld
chkconfig --list mysqld

8、配置环境变量

若要本地命令行登录mysql数据库,则可能需要配置环境变量:

vim /etc/profile

追加:

#mysql环境变量
PATH=$PATH:/opt/mysql/bin
export PATH

使环境变量生效

source /etc/profile


三、启动、停止、密码

1、启动mysql

systemctl start mysqld

2、查看mysql状态

systemctl status mysqld

3、查看默认登录密码

cat 日志路径 | grep password

4、登录

mysql -uroot -p

若提示mysql.sock文件找不到,可以指定文件位置:

mysql --socket=/opt/mysql/data/mysql.sock -uroot -p

之后按提示输入密码:

 5、修改密码

5.1 rmp形式安装,有安全级别,默认安全级别必须是大写+小写+数字+特殊符号

mysql> SET PASSWORD = PASSWORD('HTht123456@');

5.2二进制文件(glibc)形式安装,没有安全级别,可随便设置

mysql> SET PASSWORD = PASSWORD('123456');

6、授权远程连接

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'HTht123456@' WITH GRANT OPTION;

注:修改密码后都要重新授权。

7、修改密码安全级别

查看现有的密码策略:

mysql> SHOW VARIABLES LIKE 'validate_password%';

参数解释:
1).validate_password_dictionary_file 指定密码验证的文件路径;
2).validate_password_length  密码最小长度
3).validate_password_mixed_case_count  密码至少要包含的小写字母个数和大写字母个数;
4).validate_password_number_count  密码至少要包含的数字个数
5).validate_password_policy 密码强度检查等级,对应等级为:0/LOW、1/MEDIUM、2/STRONG,默认为1
6).validate_password_special_char_count密码至少要包含的特殊字符数

密码强度检查等级:
0/LOW:只检查长度;
1/MEDIUM:检查长度、数字、大小写、特殊字符;
2/STRONG:检查长度、数字、大小写、特殊字符字典文件。

可以设置为只检查6位密码长度:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=6;

到这里就可以设置简单的账户密码作测试账户了。

8、开启端口

CentOS 7 以下版本开启端口号:

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT     #开放3306端口号
/etc/rc.d/init.d/iptables save                            #让配置文件生效

CentOS 7 及以上版本关闭防火墙:

systemctl status firewalld.service    #查看防火墙状态
systemctl stop firewalld.service      #临时关闭防火墙
systemctl disable firewalld.service   #永久关闭防火墙

猜你喜欢

转载自blog.csdn.net/qq_33427869/article/details/125848436