卸载

yum 安装

1、由于CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件。

下载命令:
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

2、然后进行repo的安装:
rpm -ivh mysql57-community-release-el7-9.noarch.rpm

执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo

3、进入到 /etc/yum.repos.d/目录后再执行以下脚本

a、安装命令:
yum install mysql-server

b、启动msyql:
systemctl start mysqld

c、获取安装时的临时密码(在第一次登录时就是用这个密码):
grep ‘temporary password’ /var/log/mysqld.log

d、倘若没有获取临时密码,则删除原来安装过的mysql残留的数据
rm -rf /var/lib/mysql

e、再启动mysql
systemctl start mysqld

登录

有临时密码

mysql -u root -p
然后输入密码(刚刚获取的临时密码)

无临时密码,跳过登录验证

1、打开配置文件
vim /etc/my.cnf(注:windows下修改的是my.ini)

在文档内搜索mysqld定位到[mysqld]文本段:
/mysqld(在vim编辑状态下直接输入该命令可搜索文本内容)
在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,如下图所示:

centeros - 图1

保存文档并退出:
#:wq

接下来我们需要重启MySQL:

service mysqld restart

修改密码

输入:
mysql

修改:
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘@abcd123456’;

如果报错,则网上搜索错误解决

常见错误:

8.直接下cmd下输入mysql进入mysql>; 在mysql>下输入 UPDATE mysql.user set password=PASSWORD(‘newpassword’) WHERE User=’root’; 进行密码更改。
在mysql5.7.13这个版本更改密码时出现ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’错误,原来password字段被改为authentication_string了。第8步出错则走第9步;

9.在mysql>下使用update mysql.user set authentication_string=password(‘root’) where user=’root’ ; (注意单引号为英文状态下的)

开启远程控制

mysql登录方式有两种,一种是本机登录,一种是远程登录。这两种登录方式在mysql数据库的user表中都有体现。
由于我们不可能总是本地登录,因此需要设置远程登陆。但是mysql默认不支持远程登陆,所以需要设置一波。
1. 登录数据库。
centeros - 图2

2. 切换到mysql数据库。
centeros - 图3

3. 查看主机和用户对应情况,其实就是查看mysql数据库的user表中的部分信息。
centeros - 图4

4. 此时,针对远程用户,我们有三种授权方式:
1) 授权法(推荐使用)
授权给所有ip
mysql>GRANT ALL PRIVILEGES ON
.* TO ‘root’@’%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;

如果这里报错,尝试 FLUSH PRIVILEGES; 然后 在执行上述

  • 授权给某ip
    mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@’your ip’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;
    mysql>FLUSH PRIVILEGES;
    2) 改表法(不推荐)
    mysql>update user set host = ‘%’ where user = ‘root’;
    mysql>FLUSH PRIVILEGES;
    此方法不推荐的原因是,它会把数据库表全部改掉,如果你从本地登录时,看到的数据库结构和远程登陆看到的结构不一样,不利于本地修改。非常不推荐这种玩法!!!
    3)修改mysql配置文件
    找到mysql.cnf
    把bind-address = 127.0.0.1 前面加上 #
    即 #bind-address = 127.0.0.1
    不过,就rpm安装方式来说,我没找到bind-address这一项;如果有这一项的话,将其修改为bind-address=0.0.0.0也可以实现远程登陆,不过要重启mysql服务。
    还有一点,就是你要保证防火墙不会挡住mysql监听端口(感觉是废话,但是实际上经常就是防火墙问题o_o)

其他

七、其他配置
1、设置安全选项:
mysql_secure_installation

2、关闭MySQL
systemctl stop mysqld

3、重启MySQL
systemctl restart mysqld

4、查看MySQL运行状态
systemctl status mysqld

5、设置开机启动
systemctl enable mysqld

6、关闭开机启动
systemctl disable mysqld

7、配置默认编码为utf8:
vi /etc/my.cnf #添加 [mysqld] character_set_server=utf8 init_connect=’SET NAMES utf8’

其他默认配置文件路径:

配置文件:/etc/my.cnf 日志文件:/var/log//var/log/mysqld.log 服务启动脚本:/usr/lib/systemd/system/mysqld.service socket文件:/var/run/mysqld/mysqld.pid

8、查看版本
select version();
————————————————
版权声明:本文为CSDN博主「不甘于平凡的溃败」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wohiusdashi/java/article/details/89358071