centos安装mysql5.7

1、检测是否安装mysql
[root@keep-mysql ~]# rpm -qa | grep mysql
[root@keep-mysql ~]# yum list installed | grep mysql
2、删除mysql服务
第一种方法
# centos7需要删除mariadb
[root@keep-mysql ~]# rpm -qa | grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
# 【一般删除,如果提示依赖的其他文件,则不能删除】
[root@keep-mysql ~]# rpm -e mariadb-libs-5.5.68-1.el7.x86_64
错误:依赖检测失败:
        libmysqlclient.so.18()(64bit) 被 (已安裝) postfix-2:2.10.1-9.el7.x86_64 需要
        libmysqlclient.so.18(libmysqlclient_18)(64bit) 被 (已安裝) postfix-2:2.10.1-9.el7.x86_64 需要
# 【强力删除,包含各种依赖包】
[root@keep-mysql ~]# rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
[root@keep-mysql ~]# rpm -qa | grep mariadb
第二种方法
# 删除 MySQL 及其依赖的包
[root@keep-mysql ~]# yum remove mysql-*

# 查询遗留目录:
[root@keep-mysql ~]# ls /etc/my.cnf(一般情况都没用这个)
/etc/my.cnf
[root@keep-mysql ~]# ll /var/lib/mysql/
total 28700
-rw-rw---- 1 mysql mysql    16384 May  5 10:31 aria_log.00000001
-rw-rw---- 1 mysql mysql       52 May  5 10:31 aria_log_control
-rw-rw---- 1 mysql mysql 18874368 May  5 10:31 ibdata1
-rw-rw---- 1 mysql mysql  5242880 May  5 10:31 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 Oct  6  2017 ib_logfile1
drwx------ 2 mysql mysql     4096 Oct  6  2017 mysql
drwx------ 2 mysql mysql     4096 Oct  6  2017 performance_schema

# 删除遗留目录
[root@keep-mysql ~]# rm -rf /etc/my.cnf
[root@keep-mysql ~]# rm -rf /var/lib/mysql/
3、下载离线包

mysql社区版:https://dev.mysql.com/downloads/mysql/

或者使用mysql的yum源安装(网络可用情况):

# 下载 mysql57-community-release-el7-9.noarch.rpm 的 YUM 源:
[root@keep-mysql ~]# wget http://repo.mysql.com/mysql57-community-release-el7-9.noarch.rpm

# 安装 mysql57-community-release-el7-9.noarch.rpm:
[root@keep-mysql ~]# yum -y localinstall mysql57-community-release-el7-9.noarch.rpm

# 安装 mysql-server
[root@keep-mysql ~]# yum -y install mysql-community-server --nogpgcheck
4、使用rpm包进行安装
# 解压
[root@keep-mysql opt]# ls
mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar
[root@keep-mysql opt]# mkdir mysql
[root@keep-mysql opt]# tar -xvf mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar -C mysql

# 安装(需要按照顺序执行)
[root@keep-mysql mysql]# rpm -ivh mysql-community-common-5.7.43-1.el7.x86_64.rpm
[root@keep-mysql mysql]# rpm -ivh mysql-community-libs-5.7.43-1.el7.x86_64.rpm
[root@keep-mysql mysql]# rpm -ivh mysql-community-client-5.7.43-1.el7.x86_64.rpm
[root@keep-mysql mysql]# rpm -ivh mysql-community-server-5.7.43-1.el7.x86_64.rpm
5、修改mysql密码验证策略

# 先修改mysql的强密码验证

# 由于 MySQL5.7 采用了密码强度验证插件 validate_password,如果不关闭这个插件,需要设置一个有一定强度的密码;
[root@keep-mysql mysql]# cat /etc/my.cnf
# 添加以下两行
plugin-load=validate_password.so
validate-password=OFF
6、启动mysql服务
[root@keep-mysql mysql]# systemctl start mysqld
[root@keep-mysql mysql]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 日 2023-08-27 00:33:16 CST; 5s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 1438 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 1389 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 1441 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─1441 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

8月 27 00:33:11 keep-mysql systemd[1]: Starting MySQL Server...
8月 27 00:33:16 keep-mysql systemd[1]: Started MySQL Server.
7、获取mysql生成的随机密码
[root@keep-mysql mysql]# grep "password" /var/log/mysqld.log
2023-08-26T16:33:13.201096Z 1 [Note] A temporary password is generated for root@localhost: 9Orifximdy)1
8、登录mysql服务端,修改root密码

# 进入mysql服务器,修改密码

[root@keep-mysql mysql]# mysql -uroot -p
Enter password: 9Orifximdy)1

mysql> SET PASSWORD = PASSWORD('password');
mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
mysql> flush privileges;

# 查询用户表
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select  User,authentication_string,Host from user;
+---------------+-------------------------------------------+-----------+
| User          | authentication_string                     | Host      |
+---------------+-------------------------------------------+-----------+
| root          | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost |
| mysql.sys     | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost |
+---------------+-------------------------------------------+-----------+
3 rows in set (0.01 sec)

# 设置用户 root 可以在任意 IP 下被访问
mysql> grant all privileges on *.* to root@"%" identified by "password";
设置用户 root 可以在本地被访问:
mysql> grant all privileges on *.* to root@"localhost" identified by "password";
刷新权限使之生效:
mysql> flush privileges;
mysql> select  User,authentication_string,Host from user;
+---------------+-------------------------------------------+-----------+
| User          | authentication_string                     | Host      |
+---------------+-------------------------------------------+-----------+
| root          | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost |
| mysql.sys     | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost |
| root          | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | %         |
+---------------+-------------------------------------------+-----------+
4 rows in set (0.00 sec)
9、设置开机自启动
[root@keep-mysql mysql]# systemctl enable mysqld
[root@keep-mysql mysql]# systemctl is-enabled mysqld
enabled

拓展(优化及问题解决方案):

安装MySQL扩展:
https://blog.csdn.net/henghenghalala/article/details/112478043
忘记mysql的root密码解决办法:
http://blog.csdn.net/weixin_40990967/article/details/80347745
http://www.cnblogs.com/sbaicl/articles/3132010.html
设置mysql5.7简单密码方法:
http://blog.csdn.net/kuluzs/article/details/51924374
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值