mysql5.7 centos7:

https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

mysql5.7 centos6:

https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm

mysql5.6 centos7:

https://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

mysql5.6 centos6:

https://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

一、安装MySQL

1. 查看本地资源库中是否有mysql的rpm包

1
2
3
4
5
6
7
8
9
10
rpm -qa | grep mysql
使用rpm -e --nodeps ..... 删除rpm包,避免产生错误依赖。
# 下载mysql5.7的rpm包
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
# 安装第一步下载的rpm文件
yum -y install mysql57-community-release-el7-11.noarch.rpm
# 安装成功后/etc/yum.repos.d/目录下会增加两个文件
# 查看mysql57的安装源是否可用,如不可用请自行修改配置文件(/etc/yum.repos.d/mysql-community.repo)使mysql57下面的enable=1
# 若有mysql其它版本的安装源可用,也请自行修改配置文件使其enable=0
yum repolist enabled | grep mysql

2. 安装mysql-server

1
yum install -y mysql-community-server

3. 关闭防火墙

  1. 关闭防火墙服务
1
2
systemctl status firewalld
systemctl is-enabled firewalld
  1. 设置开机禁用防火墙服务
1
systemctl disable firewalld
  1. 临时关闭selinux
1
setenforce 0
  1. 永久关闭selinux(建议永久关闭,需要重启才能生效)
1
2
vim /etc/selinux/config
修改成:SELINUX=disabled

4. 设置mysql

  1. 启动mysql服务
1
service mysqld start
  1. 查看root密码
1
2
3
4
[root@VM_0_2_centos ~]# sudo grep 'temporary password' /var/log/mysqld.log
# 输出
2019-01-01T05:35:16.201262Z 1 [Note] A temporary password is generated for root@localhost: Za<jh_NHu16?
2019-08-01T02:24:18.196424Z 1 [Note] A temporary password is generated for root@localhost: xy:FE%Yaq4?m

参考自:https://segmentfault.com/q/1010000004196779

  1. 登陆mysql
1
2
mysql -u root -p
Enter password: # 输入第二步得到的信息,例如:xy:FE%Yaq4?m
  1. 为了可以设置简单密码
1
2
set global validate_password_policy=0;
set global validate_password_length=4;
  1. 立即修改密码,执行其他操作报错
1
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
  1. 查询数据库
1
show databases;

5. 允许远程访问设置

mysql增加权限:mysql库中的user表新增一条记录host为“%”,user为“root”

1
2
3
4
use mysql;
CREATE USER 'root'@'%' IDENTIFIED BY 'root';
# 赋予root@% 管理员的权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

%表示允许所有的ip访问。 刷新权限:

1
FLUSH PRIVILEGES;

退出mysql命令行是:

1
2
3
exit 

quit

6. 设置mysql开机自启动

1
2
3
4
5
6
cd /etc
vim rc.local
# 在最后一行添加
service mysqld start
# 保存并退出
:wq!

重启虚拟机,测试是否可以自启动。

输入:netstat -na | grep 3306,如果出现

或者,执行service mysqld status,如果出现

以上两种方式均已证明mysql开机自启动。

7. 其他操作

7.1 修改mysql密码:使用mysqladmin命令
1
2
3
mysqladmin -u root -p password '新密码'
# 回车后,输入的密码是旧密码。
# 输入正确,则修改密码成功。

7.2 忘记mysql密码

方式一:

1
2
3
4
5
6
service mysqld stop
mysqld_safe --user=root --skip-grant-tables
mysql -u root
use mysql
update user set password=password("666666") where user="root";
flush privileges;(刷新MySQL的系统权限相关表)

方式二:

1
2
3
4
5
6
7
8
9
10
vim /etc/my.cnf
# 在文末添加一行skip-grant-tables,保存并退出。
# 重启mysql服务
systemctl start mysqld
mysql -uroot -p
# 密码直接回车即可
# 然后在里面修改密码:
update user set authentication_string = password("Szfore_68638") where user="root" ;
# 刷新权限
flush privileges;
  1. mysql -h 192.168.162.251 -u root -p

8. 参考资料

  1. 参考博客1:https://www.2cto.com/database/201412/357142.html
  2. 参考博客2:http://blog.csdn.net/junkie0901/article/details/25976757
  3. 参考博客3:https://www.cnblogs.com/lzj0218/p/5724446.html

二、卸载MySQL

1. 停止Mysql服务

1
service mysqld stop

2. 使用以下命令查看当前安装mysql情况:

1
rpm -qa|grep -i mysql

3. 删除之前安装的mysql

1
2
# 将以上的rpm包都删除
rpm -ev `rpm -qa | grep -i mysql | xargs` --nodeps

4. 查找之前老版本mysql的目录,并且删除老版本mysql的文件和库:

1
rm -rf `find / -name mysql | xargs`

查找目录并删除:rm -rf 要删除的目录

比如:rm -rf /etc/selinux/targeted/active/modules/100/mysql

5. 确保etc/my.cnf文件已删除

1
rm -rf /etc/my.cnf

6. 再次查找虚机是否安装MySQL

1
rpm -qa | grep -i mysql

无结果,说明已经卸载彻底。

7. 参考资料

  1. 参考博客:http://blog.csdn.net/tjcyjd/article/details/52189182

三、使用记录

1、Windows 下修改 Mysql 密码:

1
mysqladmin -uroot -proot password mycat123

说明:

  • -uroot:指定用户为 root
  • -proot:指定 root 用户的旧密码为 root
  • password mycat123:代表新密码为 mycat123

四、FAQ

1、执行 service mysqld start 失败

1
more /var/log/mysqld.log