CentOS7 64位下MySQL5.7安装与配置(YUM)
来源:网络 更新时间:2020-04-10 12:51:46 编辑:用户1gt2d 浏览:661
1、配置YUM源 下载并安装MySQL官方的 Yum Repository
先检查系统是否装有mysql rpm -qa | grep mysql
# 下载mysql源安装包
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
# 安装mysql源
yum -y install mysql57-community-release-el7-10.noarch.rpm
检查mysql源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
2、安装MySQL
yum install mysql-community-server
3、启动MySQL服务
systemctl start mysqld
查看MySQL的启动状态 systemctl status mysqld
4、开机启动
systemctl enable mysqld
systemctl daemon-reload
5、修改root本地登录密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p (用上面查找出的密码登录)
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
修改密码策略(此处省略)
6、但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:
yum -y remove mysql57-community-release-el7-10.noarch
7、MySQL用户管理及SQL语句详解
用户管理
mysql>use mysql;
查看
mysql> select host,user,password from user ;
创建
mysql> create user zx_root IDENTIFIED by 'xxxxx'; //identified by 会将纯文本密码加密作为散列值存储
create user 'web'@'172.16.1.%' identified by 'web123';
grant select,create,insert,update on clsn.* to 'clsn'@'10.0.0.%' identified by '123';
修改
mysql>rename user feng to newuser;//mysql 5之后可以使用,之前需要使用update 更新user表
删除
mysql>drop user newuser; //mysql5之前删除用户时必须先使用revoke 删除用户权限,然后删除用户,mysql5之后drop 命令可以删除用户的同时删除用户的相关权限
更改密码
mysql> set password for zx_root =password('xxxxxx');
mysql> update mysql.user set password=password('xxxx') where user='otheruser'
查看用户权限
mysql> show grants for zx_root;
show grants for oldboy@localhost\G
SHOW GRANTS FOR 'clsn'@'localhost'\G
赋予权限
mysql> grant select on dmc_db.* to zx_root;
回收权限
mysql> revoke select on dmc_db.* from zx_root; //如果权限不存在会报错
添加远程登录用户
mysql> GRANT ALL PRIVILEGES ON *.* TO 'zx_root'@'%' IDENTIFIED BY 'zx_root123456' WITH GRANT OPTION;
grant 权限 ON 数据库.数据表 TO '用户'@'域地址' IDENTIFIED BY '密码' WITH GRANT OPTION;
mysql> grant select,update,delete ,insert on dmc_db.* to zx_root;
如果想立即看到结果使用
flush privileges ;
查看结果 select host, user from user;
8、备份与还原mysql 数据库的常用命令(https://www.cnblogs.com/nancyzhu/p/8511389.html)
mysqldump -u用户名 -p密码 --data s 数据库1 数据库2 > xxx.sql
还原数据库:mysql -uroot -p123456 db_name < d:\bak\0101.sql
或 soure 方法
mysql>use db
mysql>source d:\bak\0101.sql
(尽量避免使用mysql 导入数据,会产生大量的无用日志)
通过这种方式还原时,必须保证两个MySQL数据库的版本号是相同的。MyISAM类型的表有效,对于InnoDB类型的表不可用,InnoDB表的表空间不能直接复制。
mysql5.7字段有默认值,设置不为空,插入数据失败的问题
/etc/my.cnf或my.ini文件的mysqld模块下
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
重启数据库生效了