系统环境linux centOS 7
mysql软件包下载
首先进入mysql官网https://www.mysql.com/,找到最新版本的mysql 的二进制rpm包MySQL Yum Repository
下载mysql包
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
rpm -Uvh mysql80-community-release-el7-1.noarch.rpm
选择mysql的安装版本
查看mysql有那些版本
yum repolist all | grep mysql
如果要安装最新的8.0的mysql,不需要修改任何配置,但是如果想安装8.0以前的版本则需要修改配置
修改打开文件
vim /etc/yum.repos.d/mysql-community.repo
编辑
i
编辑完成,退出编辑
Esc
保存退出
:wq
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
指定enabled = 0禁用子仓库,或指定enabled = 1启用子仓库。例如,要安装MySQL 5.7,请确保您为MySQL 8.0的上述子仓库项启用了enabled = 0,并为5.7系列的项启用了enabled = 1 :
# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
此时可以再看一下mysql启用的版本是哪个
yum repolist enabled | grep mysql
结果显示就是我们今天要安装的mysql 5.7版本
安装mysql
yum install mysql-community-server
出现以下图中信息,mysql就安装完成了
启动mysql,并查看mysql状态
启动mysql,使用以下命令:
service mysqld start
对于基于EL7的平台,使用以下命令:
systemctl start mysqld.service
你也可以查看mysql状态,使用以下命令:
service mysqld status
或者EL7平台,使用以下命令:
systemctl status mysqld.service
结果显示,active running运行中:
登录mysql
刚新安装的mysql有个初始密码,在第一次启动后,被设置在错误日志文件中,我们可以打开日志文件找到初始密码。
要显示root用户的密码,请使用以下命令:
grep 'temporary password' /var/log/mysqld.log
例如:下图中框出来的密码,就是初始密码
通过使用初始密码登录mysql
mysql –u root –p
修改mysql的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
这里需要注意:
默认情况下,安装了MySQL的validate_password插件。这将要求密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符,并且密码总长度至少为8个字符。
修改validate_password的设置
不想密码设置得那么复杂,譬如说,我只想设置root的密码为root
必须修改两个全局参数:
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.07 sec)
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
再来修改密码,这时简单密码就可以修改成功了
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
退出mysql
mysql> quit
Bye
重新用新密码登录就OK了
授权远程登录mysql
登录mysql后,执行以下命令:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.03 sec)
现在就可以从客户机连接mysql服务器了,如果连接报这样的错:ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.x.xxx' (10060)。因为我们是centos7,请先确认防火墙是否开启来,centos7默认是firewall,我们可以把它停止并禁止使用,然后启动我们熟悉的iptables,这样就好了!
开放3306端口
有以下两种方式
(1) 直接关闭防火墙
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service
(2) 设置 iptables service
yum -y install iptables-services
如果要修改防火墙配置,如增加防火墙端口3306
vi /etc/sysconfig/iptables
增加规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
保存退出后
重启防火墙使配置生效
systemctl restart iptables.service
设置防火墙开机启动
systemctl enable iptables.service
最后重启系统使设置生效即可。