Centos安装mysql 试着在腾讯云服务器上部署web应用,就想着先搭建一下服务器环境,操作系统选的是centos7,在安装好jdk,tomcat后测试可以部署web应用就准备再安装一个mysql数据库,之前试过好几种方式都是以初始密码找不到告终,这次就又重新百度安装方式。

  据说centos7没有mysql 的yum源,于是就直接从网上下载mysql的repo源(这个玩意目前还没仔细探究是什么东西,在centos里面应该会涉及到),使用

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 

从网上下载这个rpm包(这里wget 命令是从网络上下载文件的命令一般的格式为wget +url),下载好rpm包后安装这个包

 rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装好这个rpm包后,开始安装mysql-server 

sudo yum install mysql-server

之后就是网络下载安装了,在中间会出现两个需要选择的地方都填“y”回车就行,然后就会显示安装成功

然后我们来测试是否安装成功,这时如果直接像windows下一样输入mysql -uroot -p可能会出现一些错误(ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2))原因是mysql这个文件的权限问题,需要把这个文件的权限改为当前用户

 sudo chown -R openscanner:openscanner /var/lib/mysql

然后就重启服务重新直接登录root用户 

service mysqld restart
mysql -u root 

这样就会进入到mysql服务,也就是我们常用的mysql命令行,这时就要来修改root用户的密码了

use mysql;
update user set password=password('new password') where user='root';
flush privileges;

这里的第一句是选用需要修改的数据库,在mysql中用户名密码都在数据库名为mysql的这个库中,在修改数据库中的数据表前都需要使用use命令选中使用哪个数据库,第二句是更新数据表user中root用户的密码为新密码,第三句是将前面所做的修改在系统中刷新生效。

然后就可以使用exit命令退出然后重新使用mysql -uroot -p 回车然后输入新密码进入mysql了。

  总结:在这里centos安装mysql和windows下安装mysql就有区别了,windows下安装mysql方式有几种,直接下载安装包安装那就是傻瓜式安装直接下一步就行,使用免安装版的就是在官网上下载压缩包解压,然后修改默认配置文件default.ini为my.ini文件内容修改一下这个文件下的bin目录和data目录以及当需要修改编码方式支持中文时加入utf-8的支持,然后就初始化mysqld服务,启动mysql服务之后就可以登录root用户进入了(初始密码在安装后生成的一个文件中),登录修改密码的语句都一样了。这里可能区别更多的就是因为系统的差异引起的。

首先登录MySQL。 mysql> use mysql;

mysql> update user set password=password('123') where user='root' and host='localhost';

mysql> flush privileges;


下载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.*"


1、安装MySQL
yum install mysql-community-server


2、启动MySQL服务
 systemctl start mysqld


3、查看MySQL的启动状态

 systemctl status mysqld

4、开机启动
systemctl enable mysqld
systemctl daemon-reload


5、修改root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

grep 'temporary password' /var/log/mysqld.log

查看密码

mysql -uroot -p密码

设置密码ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass'; 


 注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误
 
 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的密码检查规则。


修改密码策略
在/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




6、添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:
GRANT ALL PRIVILEGES ON *.* TO 'roottest'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

7、配置默认编码为utf8
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
[mysqld]

character_set_server=utf8

init_connect='SET NAMES utf8'

8、修改端口号、开放端口
vi /etc/my.cnf 
添加port=3308
重新启动mysql服务使配置生效:

systemctl restart mysqld

设置远程端口

# firewall-cmd --zone=public --add-port=3308/tcp --permanent

success

生效修改

# firewall-cmd --reload
success
默认配置文件路径: 
配置文件:/etc/my.cnf 
日志文件:/var/log//var/log/mysqld.log 
服务启动脚本:/usr/lib/systemd/system/mysqld.service 
socket文件:/var/run/mysqld/mysqld.pid
 

  据说centos7没有mysql 的yum源,于是就直接从网上下载mysql的repo源(这个玩意目前还没仔细探究是什么东西,在centos里面应该会涉及到),使用

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 

从网上下载这个rpm包(这里wget 命令是从网络上下载文件的命令一般的格式为wget +url),下载好rpm包后安装这个包

 rpm -ivh mysql-community-release-el7-5.noarch.rpm

安装好这个rpm包后,开始安装mysql-server 

sudo yum install mysql-server

之后就是网络下载安装了,在中间会出现两个需要选择的地方都填“y”回车就行,然后就会显示安装成功

然后我们来测试是否安装成功,这时如果直接像windows下一样输入mysql -uroot -p可能会出现一些错误(ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2))原因是mysql这个文件的权限问题,需要把这个文件的权限改为当前用户

 sudo chown -R openscanner:openscanner /var/lib/mysql

然后就重启服务重新直接登录root用户 

service mysqld restart
mysql -u root 

这样就会进入到mysql服务,也就是我们常用的mysql命令行,这时就要来修改root用户的密码了

use mysql;
update user set password=password('new password') where user='root';
flush privileges;

这里的第一句是选用需要修改的数据库,在mysql中用户名密码都在数据库名为mysql的这个库中,在修改数据库中的数据表前都需要使用use命令选中使用哪个数据库,第二句是更新数据表user中root用户的密码为新密码,第三句是将前面所做的修改在系统中刷新生效。

然后就可以使用exit命令退出然后重新使用mysql -uroot -p 回车然后输入新密码进入mysql了。

  总结:在这里centos安装mysql和windows下安装mysql就有区别了,windows下安装mysql方式有几种,直接下载安装包安装那就是傻瓜式安装直接下一步就行,使用免安装版的就是在官网上下载压缩包解压,然后修改默认配置文件default.ini为my.ini文件内容修改一下这个文件下的bin目录和data目录以及当需要修改编码方式支持中文时加入utf-8的支持,然后就初始化mysqld服务,启动mysql服务之后就可以登录root用户进入了(初始密码在安装后生成的一个文件中),登录修改密码的语句都一样了。这里可能区别更多的就是因为系统的差异引起的。