在centos7虚拟机中安装mysql5.7
因为对linux不熟悉,安装mysql这个过程反复操作了三次才成功,幸亏虚拟机有着快照功能,不然不知道需要浪费多少时间,感觉自己菜的可以o(╥﹏╥)o
- 进入要存放安装包的位置:
cd /MyData/mysql
2. 查看系统中是否已安装mysql服务,两种方式查询:
rpm -qa | grep mysql
yum list installed | grep mysql
如果系统中已经安装了服务会有服务显示:
- 如果已安装则删除mysql及其依赖的包:
yum -y remove mysql-libs.x86_64
- 下载 mysql57-community-release-el7-8.noarch.rpm 的 YUM 源:
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
5. 安装 mysql57-community-release-el7-8.noarch.rpm:
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
安装完后,得到如下两个包:
- mysql-community.repo
- mysql-community-source.repo
- 安装 MySQL,出现提示的话,一路 Y 到底:
yum install mysql-server
- 安装完毕后,运行mysql:
service mysqld start
8. 然后在 /var/log/mysqld.log 文件中会自动生成一个随机的密码,我们需要先取得这个随机密码,以用于登录 MySQL 服务端:
grep "password" /var/log/mysqld.log
将返回内容的末尾字符串复制下来,这是我们登陆mysql的随机密码:
2018-10-17T15:33:44.848465Z 1 [Note] A temporary password is generated for root@localhost: 9i?W7Z2?reu4
- 登录到 MySQL 服务端并更新用户 root 的密码:
mysql -u root -p
9i?W7Z2?reu4
- 出现 mysql> 说明登陆成功。
注意:由于 MySQL5.7 采用了密码强度验证插件 validate_password,故此我们需要设置一个有一定强度的密码,或者修改其验证参数;
由于我是自己测试使用,不想设置那么复杂的密码,例如,我想设置root的密码为123456.
那么我们需要修改两个参数:
- 修改validate_password_policy、validate_password_length、validate_password_number_count三个参数的值:
set global validate_password_policy=0;
set global validate_password_length=1;
set global validate_password_mixed_case_count=2;
- 这个时候我们重置root密码,就不会再报安全问题了:
SET PASSWORD = PASSWORD('625869836');
- 设置密码永久有效,然后刷新权限:
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;
- 设置用户 root 可以在任意 IP 下被访问:
grant all privileges on *.* to root@"%" identified by "XXXXXX"; //双引号里是你设置的新密码
- 设置用户 root 可以在本地被访问:
grant all privileges on *.* to root@"localhost" identified by "XXXXXX"; //同上,双引号里是你设置的新密码
- 刷新权限使之生效:
flush privileges;
OK,输入 exit 后用新密码再次登录看看吧!
注意:如果用远程工具还是连接不上,试试用 iptables -F 命令来清除防火墙中链中的规则
- MySQL控制命令:启动、停止、重启、查看状态
service mysqld start
service mysqld stop
service mysqld restart
service mysqld status
systemctl start mysqld
service mysqld stop
service mysqld restart
systemctl status mysqld
- 设置 MySQL 的字符集为 UTF-8:
<1>打开 /etc 目录下的 my.cnf 文件(此文件是 MySQL 的主配置文件):
vim /etc/my.cnf
<2>在 [mysqld] 前添加如下代码:
[client]
default-character-set=utf8
<3>在 [mysqld] 后添加如下代码:
character_set_server=utf8
<4>重启mysql后再登录,看看字符集,6个utf8就算OK
show variables like '%character%';
本文整理自:
1.https://www.cnblogs.com/jorzy/p/8455519.html
2.https://www.linuxidc.com/Linux/2016-06/132676.htm