CentOS7中安装MySql(VM虚拟机)

- MySQL rpm包准备

mysql的历史版本均可下载:

https://downloads.mysql.com/archives/community/

本次以学习下载5.7.21版本(mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar)为进行练习,下载好传至linux中。aaa8d0270370dc3620869ecb522719d5.png

- CentOS7 环境准备

删除centos7自带的数据库mariadb

先看一下系统中是否存在mariadb,用 rpm -qa | grep mariadb 命令查看,如存在则需要进行卸载 rpm -e --nodeps mariadb-libs。

- 安装

解包

tar -xvf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar

rpm命令安装

rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm

rpm -ivh mysql-community-devel-5.7.21-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm

注意:安装最后一个server时出错的,试下下面的命令:

rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm --force --nodeps

修改配置文件跳过密码登录

关闭mysql服务:service mysqld stop

打开配置文件:vim /etc/my.cnf

在配置文件中添加 skip-grant-tables 这句话就可以空密码登录mysql

457d454888dd6ad245ac4413ddd0a824.png

开启mysql服务:service mysqld start

设置root用户的密码

登录:mysql -u root -p

出现输入密码提示时直接回车

mysql> use mysql;

设置mysql密码:mysql> set password for root@localhost = password(‘123456’);

如果提示下面的错误:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

mysql> flush privileges; #更新权限

Query OK, 0 rows affected (0.10 sec)

mysql> SET PASSWORD FOR ‘root’@‘localhost’ = PASSWORD(‘newpass’);

【此处失败的话就用以下两句命令

mysql>update user set authentication_string = password(‘新密码’),password_last_changed=now() where user=‘root’;

mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;】

mysql>flush privileges; #更新权限

mysql>quit; #退出

service mysqld stop # 停止mysql服务, 恢复mysql配置

vim /etc/my.cnf #修改配置文件,注释之前添加的代码

7c7e4bd209293207e3c6f249e785e9b0.png

service mysqld start # 启动mysql服务

mysql -u root -p # 输入新密码登录

设置mysql开机自启:systemctl enable mysqld(退出mysql进行设置)

- 连接navicat

1.设置root用户连接的ip的权限

mysql>flush privileges; #更新权限

2.设置root用户可以在任意ip(% 通配符),或者指定ip下进行登陆

mysql> SET PASSWORD FOR ‘root’@’%’ = PASSWORD(‘123456’);

1d6eda3723af471f8b05661471ba9ac6.png

3.然后就可以在局域网内的机器上安装navicat进行连接了

e82cf48edab7375e9491801923c00b21.png

这中间可能还会报一些错,可能是linux防火墙未开放相应的端口,可以使用以下命令开启:

[root@localhost logs]# firewall-cmd --zone=public --add-port=3306/tcp --permanent

重新载入一下

[root@localhost logs]#firewall-cmd --reload

常见问题:

You must reset your password using ALTER USER statement before executing this statement(在执行此语句之前,必须使用ALTER USER语句重置密码)

Your password does not satisfy the current policy requirements(您的密码不满足当前的策略要求)

SET PASSWORD = PASSWORD(‘new password’);

ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER;

FLUSH PRIVILEGES;

解决Java程序向mysql数据库插入中文乱码问题的多种方式

https://blog.csdn.net/qq_27760433/article/details/76121783

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐