摘要:本文主要向大家介绍了MySQL数据库的MySql服务器安装与配置(rpm)教程,通过具体的实例让大家了解,希望对大家学习MySQL数据库有所帮助。
本文主要向大家介绍了MySQL数据库的MySql服务器安装与配置(rpm)教程,通过具体的实例让大家了解,希望对大家学习MySQL数据库有所帮助。
一、检查系统中是否装有Mysql
rpm -qa | grep mysql 或者:rpm -qa | grep -i mysql // 这个命令就会查看该操作系统上是否已经安装了mysql数据库
[root@peipei3514 ~]# rpm -qa | grep -i mysql
mysql-libs-5.1.71-1.el6.x86_64
二、删除卸载原有的Mysql
通过 rpm -e 命令 或者 rpm -e –nodeps 命令来卸载掉,注意两个命令后面是你的mysql-libs-5.1.71-1.el6.x86_64名称版本号
[root@peipei3514 ~]# rpm -e mysql // 普通删除模式
[root@peipei3514 ~]# rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
如果你不是通过rpm安装的肯定返回错误,说明没有rpm包。
[root@peipei3514 ~]# rpm -e --nodeps mysql
错误:未安装软件包 mysql
如果是yum安装的我们使用下面的命令:
[root@peipei3514 ~]# yum -y remove mysql-libs-5.1.71-1.el6.x86_64
如果返回 You need to be root to perform this command。说明你需要root权限,在终端,输入su回车, 然后输入密码回车就行了!密码是不显示的。
[root@peipei3514 ~]# su
Password:
再次执行删除命令,最后返回如果看到下面的信息:
......
Removed:
mysql-libs.x86_64 0:5.1.71-1.el6
Dependency Removed:
cronie.x86_64 0:1.4.4-12.el6 cronie-anacron.x86_64 0:1.4.4-12.el6
crontabs.noarch 0:1.10-33.el6 postfix.x86_64 2:2.6.6-2.2.el6_1
sysstat.x86_64 0:9.0.4-22.el6
Complete!
删除成功!
再次查看
[root@peipei3514 ~]# rpm -qa | grep mysql
[root@peipei3514 ~]#
三、给CentOS添加rpm源
[root@peipei3514 ~]# cd /usr/local/src/
[root@peipei3514 src]# wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
[root@peipei3514 src]# yum localinstall mysql57-community-release-el7-11.noarch.rpm -y
四、安装 mysql 服务
[root@peipei3514 src]# yum search mysql
[root@peipei3514 src]# yum install mysql-community-server.x86_64 -y
五、启动
[root@peipei3514 src]# systemctl start mysqld
[root@peipei3514 src]# systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 日 2017-12-24 13:38:24 CST; 41min ago
Docs: man:mysqld(8)
https://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 10514 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
Process: 10441 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 10517 (mysqld)
CGroup: /system.slice/mysqld.service
└─10517 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
12月 24 13:38:18 peipei3514 systemd[1]: Starting MySQL Server...
12月 24 13:38:24 peipei3514 systemd[1]: Started MySQL Server.
六、查看 mysql 随机密码
[root@peipei3514 src]# vim /var/log/mysqld.log
# 在日志文件中找到这样一行
2017-12-24T05:38:19.332201Z 1 [Note] A temporary password is generated for root@localhost: DGAreee6kM-E
注:Mysql 5.6及以后版本出处于安全考虑,root密码不为空。第一次启动后会有个初始化的过程,会产生root账户的随机密码。在/var/log/mysqld.log 。登陆上过后,进行正常操作会受限,提示你必须修改密码后才能进行操作。
七、初始化设置
[root@peipei3514 src]# mysql_secure_installation
运行mysql_secure_installation会执行几个设置:
为root用户设置密码(可以先看第八步); 删除匿名账号; 取消root用户远程登录; 删除test库和对test库的访问权限; 刷新授权表使修改生效。
通过这几项的设置能够提高mysql库的安全。建议生产环境中mysql安装这完成后一定要运行一次mysql_secure_installation
八、设置远程登录
1、设置 mysql 远程登录
mysql> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
[root@peipei3514 src]# vim /etc/my.cnf
[client]
port=3306
2、开放防火墙端口
[root@peipei3514 src]# firewall-cmd --add-port=3306/tcp --permanent
success
[root@peipei3514 src]# firewall-cmd --reload
success
九、修改密码策略
查阅官方文档后发现有以下三种密码策略:
当前密码策略默认为1,也就是 MEDIUM:
mysql> show VARIABLES like "%password%";
+---------------------------------------+--------+
| Variable_name | Value |
+---------------------------------------+--------+
| default_password_lifetime | 0 |
| disconnect_on_expired_password | ON |
| log_builtin_as_identified_by_password | OFF |
| mysql_native_password_proxy_users | OFF |
| old_passwords | 0 |
| report_password | |
| sha256_password_proxy_users | OFF |
| validate_password_check_user_name | OFF |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
+---------------------------------------+--------+
14 rows in set (0.02 sec)
所以你更改密码的策略是 数字 小写字母 大写字母 特殊字符 长度至少8位 。
接下来修改默认密码策略(当然实际环境是不推荐修改为更低安全策略的):
mysql> set global validate_password_policy = 0;
Query OK, 0 rows affected (0.00 sec)
现在设置完默认密码策略后,就只有密码长度限制 了。默认为字符长度至少8位。其中:
validate_password_number_count:指定了密码中数据的长度; validate_password_special_char_count:指定了密码中特殊字符的长度; validate_password_mixed_case_count:指定了密码中大小字母的长度。
这些参数,默认值均为1,所以validate_password_length最小值为4,如果你显性指定validate_password_length的值小于4,尽管不会报错,但validate_password_length的值将设为4。
mysql> set global validate_password_length = 3;
Query OK, 0 rows affected (0.00 sec)
mysql> show VARIABLES like "validate_password_length";
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| validate_password_length | 4 |
+--------------------------+-------+
1 row in set (0.00 sec)
如果修改了validate_password_number_count,validate_password_special_char_count,validate_password_mixed_case_count中任何一个值,则validate_password_length将进行动态修改。
MySQL 5.7 默认安装了 validate_password 插件。 所以多了以上步骤。
附1:通过my.cnf 配置文件设置密码策略的级别
[mysqld]
validate_password_policy=2
最后一行 validate_password_policy 设置mysql启动的时候密码策略级别。 如果设置为3 ,那么需要指定字典文件。
当然你也可以通过 my.cnf 配置文件关闭 validate_password 插件。
只需要添加一行:
validate_password = off
编辑完配置文件后,重启mysqld服务即可生效。
mysql> show VARIABLES like "validate_password%";
+-----------------+---------+
| Variable_name | Value |
|-----------------+---------|
+-----------------+---------+
0 rows in set
Time: 0.008s
关闭validate_password插件后,就没有了validate_password的一些参数变量。
附2:修改 mysql 监听在 IPv4
MySQL 新版本默认监听在IPv6的地址族上。
[root@peipei3514 src]# netstat -tunpl -A inet6
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::22 :::* LISTEN 991/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1093/master
tcp6 0 0 :::3306 :::* LISTEN 10640/mysqld
udp6 0 0 :::16101 :::* 804/dhclient
udp6 0 0 ::1:323 :::* 644/chronyd
更改为监听IPv4地址族,修改 my.cnf 添加一行配置:
bind-address = 0.0.0.0
重启mysqld 即可。
本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号