https://blog.csdn.net/wudinaniya/article/details/81094578
一 查看linux操作系统版本和系统内核版本
[root@spim_db2 soft]# cat etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@spim_db2 soft]# uname -r
3.10.0-693.el7.x86_64
二 下载对应版本的MySQL安装文件
1、下载地址;https://dev.mysql.com/downloads/mysql/
2、选择对应的Linux版本和x86/x64进行下载
[root@nfs_client ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar
三 卸载旧版本的MySql (没有的话,则跳过此步骤)
1、查看旧版本MySql

2、逐个删除掉旧的组件

四 使用 rpm 命令安装MySql组件
rpm -ivh mysql-community-common-5.7.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm
五 常见问题
[root@nfs_client tools]# rpm -ivh mysql-community-libs-5.7.22-1.el7.x86_64.rpm
warning: mysql-community-libs-5.7.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
mysql-community-common(x86-64) >= 5.7.9 is needed by mysql-community-libs-5.7.22-1.el7.x86_64
mariadb-libs is obsoleted by mysql-community-libs-5.7.22-1.el7.x86_64
解决:清除yum里所有mysql依赖包
[root@nfs_client tools]# rpm -qa|grep mysql
[root@nfs_client tools]# yum remove mysql-libs
注意:
有的系统可能不太一样,没有mysql-libs,而是mariadb-libs,此时要移除的则是mariadb-libs
[root@nfs_client tools]# rpm -qa|grep mariadb
[root@nfs_client tools]# yum remove mariadb-libs
清除完yum里所有mysql的依赖包后,再次安装mysql组件就不会报错了:
六 登录并创建MySql密码
1 启动MySql
systemctl start mysqld.service 启动mysql
systemctl status mysqld.service 查看mysql状态
systemctl stop mysqld.service 关闭mysql
查看mysql进程 ps -ef|grep mysql
查看3306端口 netstat -anop|grep 3306
2 登陆mysql修改root密码
使用:
grep 'temporary password' var/log/mysqld.log
mysql -uroot -p
2)执行下面的命令修改MySql root密码
在5.6后,mysql内置密码增强机制,低强度密码会报错:
mysql> alter user root@localhost identified by 'sdbrk';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
或
mysql> set password for root@localhost=password('sdbrk');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
ERROR 1819 (HY000):Your password does not satisfy the current policy requirments
mysql> set global validate_password_policy=0; # 此时,新密码长度大于等于8位才有效,否则报错
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)
不管设置 validate_password_length=1,还是2,3,4 ,‘有效密码长度’这个参数的实际值都是4。超过4后设置是多少实际就是多少。
mysql> alter user root@localhost identified by 'sh2020';
3 开启mysql远程访问
1)查看当前授予过的权限:
use mysql;
select user,host from user;
2)
mysql> grant all privileges on *.* to root@'%' identified by '9527';
Query OK, 0 rows affected, 1 warning (0.05 sec)
step4: 刷新权限,使设置生效, OK。
mysql> flush privileges;
Query OK, 0 rows affected (0.36 sec)
在远程机器上测试远程连接: mysql -h192.168.0.241 -uroot -p
mysql中可以给一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为:
grant 权限 on 数据库对象 to 用户
一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。
grant select on testdb.* to common_user@'%'
grant insert on testdb.* to common_user@'%'
grant update on testdb.* to common_user@'%'
grant delete on testdb.* to common_user@'%'
或者,用一条 MySQL 命令来替代:
grant select, insert, update, delete on testdb.* to common_user@'%'




