Centos7 安装 Mysql并修改端口号设置开机启动

1、下载mysql源安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
如果报错wget无法识别,执行 yum install wget 先安装wget

2、安装mysql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm

3、检查mysql源是否安装成功,正常是几行橙色的mysql开头的字样
yum repolist enabled | grep “mysql.*-community.*”

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

5、启动MySQL服务
systemctl start mysqld

6、查看MySQL的启动状态,正常会有绿色runing标识
systemctl status mysqld

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

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

查看密码 grep ‘temporary password’ /var/log/mysqld.log

登录mysql

mysql -uroot -p密码

重新设置密码
update user set password=password(‘你的密码’) where user=’root’ and host=’localhost’;
这一步可能出现的问题:
特别注意的大坑:不是所有版本的mysql表中 密码字段 都叫password,也有的是authentication_string,这个在配置免密登录后在user表查看,顺便找到root行数据,看password_expired字段Y还是N,若是Y,改成N,否则会提示密码过期。Host字段一般是localhost,代表只允许本机登录,可以修改为%,意思是任何地方都能登录。
问题1:ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
问题1 解决方案:配置免密登录
修改my.conf配置文件
vim /etc/my.conf
在任意位置添加如下参数,配置免密码登录
skip-grant-tables
保存退出后重启mysql
systemctl restart mysql;
重新登陆MySQL
直接在窗口出入mysql后回车即可登录了,等配置都好了,注释掉这一行,重启MySQL即可。

问题2、提示密码过期
配置完免密登录,找到root行数据,看password_expired字段Y还是N,若是Y,改成N

问题3、ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql5.7默认安装了密码安全检查插件(validate_password),
默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。
在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略
# 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件

validate_password_policy=0
如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:

validate_password = off
重新启动mysql服务使配置生效:

重启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

小站主要是个人在开发过程中遇到的问题,解决方案的记录,与君分享。
vsalw技术博客 » Centos7 安装 Mysql并修改端口号设置开机启动

提供最优质的资源集合

立即查看 了解详情