centos7安装Mysql5.7 三种方式
以下方式本人均亲测,都能成功安装!整理不易,请点个赞支持下
方式一:使用docker 镜像安装
1.在本机安装docker 环境
2. 下载mysql镜像
docker pull mysql:5.7
3.运行 mysql 镜像
docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
参数说明:
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
-v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
方式二:传统方式安装
1.下载mysql源安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安装mysql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
检查mysql源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
提示:可以修改vim /etc/yum.repos.d/mysql-community.repo源,改变默认安装的mysql版本。比如要安装5.6版本,将5.7源的enabled=1改成enabled=0。然后再将5.6源的enabled=0改成enabled=1即可。
2、安装MySQL
yum install mysql-community-server
3、启动MySQL服务
systemctl start mysqld
查看MySQL的启动状态
systemctl status mysqld
4、开机启动
systemctl enable mysqld
systemctl daemon-reload
5、修改root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
grep 'password' /var/log/mysqld.log
通过msyql环境变量可以查看密码策略的相关信息:
mysql> show variables like '%password%';
validate_password_policy:密码策略,默认为MEDIUM策略
validate_password_dictionary_file:密码策略文件,策略为STRONG才需要
validate_password_length:密码最少长度
validate_password_mixed_case_count:大小写字符长度,至少1个
validate_password_number_count :数字至少1个
validate_password_special_char_count:特殊字符至少1个
上述参数是默认策略MEDIUM的密码检查规则。
策略 检查规则
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file
修改密码策略 方法一
在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略
选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件
validate_password_policy=0
如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:
validate_password = off
重新启动mysql服务使配置生效:
systemctl restart mysqld
修改密码策略 方法二
更改密码策略为LOW
set global validate_password_policy=0;
更改密码长度
set global validate_password_length=0;
修改密码命令
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
6、添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
7、配置默认编码为utf8
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
方式三:传统方式安装2
第一步:下载mysql
1
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz
若报-bash: wget: command not found,则表明没有安装wget,需要安装,安装命令如下:
yum -y install wget
安装完成即可以使用。
1:检查是否本地已经安装了mysql
rpm -qa | grep mysql
2:卸载以前的mysql
rpm -e 已经存在的MySQL全名
第二步:解压文件
tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
文件名修改为mysql:
mv mysql-5.7.17-linux-glibc2.5-x86_64/ mysql
第三步:配置启动文件
然后去到mysql的support-files目录下,复制my.cnf到 /etc/my.cnf(mysqld启动时自动读取)
cd mysql/support-files/
cp my-default.cnf /etc/my.cnf
cp: overwrite ‘/etc/my.cnf’? yes
注意:如果你在安装时Linux虚拟机时同时安装了默认的mysql,此时操作以上步骤,终端将会提示你文件已存在是否覆盖,输入yes覆盖即可。
2、配置数据库编码
vim /etc/my.cnf
添加以下内容:
[mysql]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character_set_server=utf8
3、复制mysql.server到/etc/init.d/目录下(目的想实现开机自动执行效果)
cp mysql.server /etc/init.d/mysql
4、修改/etc/init.d/mysql参数
vim /etc/init.d/mysql
修改以下内容:
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
5、出于安全便利,创建一个操作数据库的专门用户
建立一个mysql的组:
groupadd mysql
建立mysql用户,并且把用户放到mysql组:
useradd -r -g mysql mysql
给mysql用户设置一个密码:
passwd mysql
给目录/usr/local/mysql 更改拥有者:
chown -R mysql:mysql /usr/local/mysql/
第四步:初始化 mysql 的数据库
cd /usr/local/mysql/bin/
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
初始化后会生成一个临时密码 root@localhost::*(最好先记录这个临时密码)
2.给数据库加密
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data
3.启动mysql
./mysqld_safe --user=mysql &
4.检查mysql是否启动
ps -ef|grep mysql
发现有进程便代表启动成功,退出mysql。
mysql>exit
第五步:进入客户端
1.登录:
./mysql -uroot -p
以上就同上了,这里就不重复写了。。。。。