试着在腾讯云服务器上部署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 --reloadsuccess
默认配置文件路径:
配置文件:/etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid