02: MySQL的安装与基本配置
MySQL其他篇
目录:
参考网站
- 1.1 MySQL安装与基本配置(centos 7.3)
- 1.2 修改MySQL默认字符集和引擎
- 1.3 MySQL创建用户与授权
1.1 MySQL安装与基本配置(centos 7.3) 返回顶部
安装参考网址:https://www.cnblogs.com/jorzy/p/8455519.html
1、查看系统中是否已安装 MySQL 服务:以下提供两种方式
rpm -qa | grep mysql
yum list installed | grep mysql
2、如果已安装则删除 MySQL 及其依赖的包
yum -y remove mysql-libs.x86_64
3、下载 mysql57-community-release-el7-8.noarch.rpm 的 YUM 源
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
4、安装 mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
安装完后,得到如下两个包:
mysql-community.repo
mysql-community-source.repo
5、安装 MySQL,出现提示的话,一路 Y 到底
yum install mysql-server
6、安装mysql所需的库和包含文件
yum -y install mysql-devel
7、获取mysql初始密码
service mysqld start
grep "password" /var/log/mysqld.log
8、mysql管理常用命令
systemctl status mysqld
systemctl start mysqld
systemctl stop mysqld
9、开机启动
systemctl enable mysqld
systemctl daemon-reload
10、Mysql安装成功后,默认的root用户密码为空,可以直接登录
mysql -uroot -p
mysqladmin -u root password "1" # 给root用户配置密码:1
mysql -uroot -p1 # 配置完密码后必须使用密码登录
1.2 修改MySQL默认字符集和引擎 返回顶部
1. 安装完MySQL使用外键关联创建表失败,原因是默认引擎不对
2. 向MySQL插入中文发现显示乱码,原因是默认字符集不对
show variables like 'character%'; #查看MySQL默认字符集
3. 解决方法是修改MySQL配置文件 vim /etc/my.cnf
vim /etc/my.cnf #下面的内容都是自己添加的内容 [mysqld] default-storage-engine=INNODB default_character_set=utf8 character_set_server=utf8[mysqld_safe] default-character-set = utf8[client] default-character-set = utf8[mysql.server] default-character-set = utf8[mysql] default-character-set = utf8
vim /etc/my.cnf
4. 面试题:你的数据库用什么存储引擎?区别是?
1. 常见的有MyISAM和InnoDB。
2. InnoDB: 支持外键约束,支持事务。对索引都是单独处理的,无需引用索引。
3. MyISAM: 不支持外键约束,不支持事务,对数据大批量导入时,它会边插入数据边建索引。
所以为了提高执行效率,应该先禁用索引,在完全导入后再开启索引
1.3 MySQL创建用户与授权 返回顶部
1、创建用户
1. 命令 : CREATE USER 'username'@'host' IDENTIFIED BY 'password';
1、username: 你将创建的用户名
2、host: 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
3、password: 该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
2、例子
1、CREATE USER 'tom'@'localhost' IDENTIFIED BY '123456'; #允许tom从localhost登录
2、CREATE USER 'jack'@'1.1.1.100' IDENTIFIED BY '123456'; #允许jack从1.1.1.100主机登录
3、CREATE USER 'fly'@'%' IDENTIFIED BY '123456'; #允许fly从任意主机登录
4、mysql -h 1.1.1.3 -P 3306 -u jack -p123456 # jack从1.1.1.100登录MySQL
5、update mysql.user set authentication_string=PASSWORD('Chnsys@2016') where user='opwf'; # 修改用户密码
2、授权
1. 命令 : GRANT privileges ON databasename.tablename TO 'username'@'host'
1、privileges: 用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
2、databasename: 数据库名
3、tablename: 表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
2.例子
1、GRANT SELECT, INSERT ON testdb.student TO 'tom'@'%'; # 授权tom对testdb数据库有查询和插入权限
2、GRANT ALL ON *.* TO 'jack'@'%'; # 授权jack对所有数据库、所有表所有权限
3、查看权限
1、show grants for 'tom'@'localhost'; # 查看用户tom在主机1.1.1.100上的权限
2、show grants for root; # 查看root用户所有权限
4、撤销权限
1、REVOKE all ON *.* FROM 'tom'@'%'; # 撤销tom对所有数据库、所有表、的所有权限
# 1、创建用户 create user 'mup'@'%' identified by 'mup_yiducloud';# 2、授予mup用户授予对mup数据库的操作权限 GRANT ALL ON mup.* TO 'mup'@'%'; flush privileges; select host,user from mysql.user;# 3、删除用户 Delete FROM mysql.user Where User='mup' and Host=”localhost”; Delete FROM mysql.user Where User='mup'; # 4、修改root密码 update mysql.user set authentication_string=password('mysqlRootPwd') where user='root' and Host = 'localhost';
mysql创建与授权常用操作
1.4 mysql常见报错
1、ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
# mysql -u root -p #登录 # mysql>set global validate_password_policy=0; #密码强度设为最低等级 # mysql>set global validate_password_length=4; #密码允许最小长度为4 # mysql>flush privileges; #更新授权表,生效
2、ERROR 1044 (42000): Access denied for user 'root'@'localhost' to database 'bsp'
参考地址:https://blog.csdn.net/slovyz/article/details/52182283
1. 报错原因
1. 其实应该可以说基本上都是因为my.cnf 文件里面有skip-name-resolve参数这个参数导致这不能解析hostname或其它方式的登录;
2. 所以登录任何用户,匹配的时候不走root@'localhost',或者127.0.0.1或者::1而是 一个劲的走root@'%';
2、解决方法
#1、查看一下每种方式下的root用户是否有grant权限 mysql> select Grant_priv from user where Host='127.0.0.1'; +------------+ | Grant_priv | +------------+ | N | +------------+ 1 row in set (0.00 sec)mysql> select Grant_priv from user where Host='localhost'; +------------+ | Grant_priv | +------------+ | N | +------------+ 1 row in set (0.01 sec)#2、在不重启MySQL服务的情况下,只需要在登录的时候加上-h参数 (a). /usr/local/mysql/bin/mysql -uroot -p123456 -h localhost (b). /usr/local/mysql/bin/mysql -uroot -p123456 -h127.0.0.1#3、更改用户权限让其拥有grant权限 mysql> update user set Grant_priv='Y' where Host='127.0.0.1'; mysql> update user set Grant_priv='Y' where Host='localhost'; mysql> flush privileges;#4、退出重新用root登录,然后再操作
解决方法
3、ERROR 1045 (28000): Access denied for user 'opwf'@'localhost' (using password: YES)
参考地址:https://www.cnblogs.com/bk7788/p/6388562.html
1. 报错原因
1. 大意就是你有一个用户名为空的账户,mysql会先匹配它,然后就一直提示你密码错误,删掉这个匿名用户,然后执行 FLUSH PRIVILEGES;
DELETE FROM mysql.user WHERE user='';
FLUSH PRIVILEGES
转载于:https://www.cnblogs.com/xiaonq/p/8398690.html
02: MySQL的安装与基本配置相关推荐
- MySQL编译安装及主从配置
说明:本实验配置以Cenos6.6和MySQL5.6.35为例 一.编译安装MySQL 1.避免在安装过程中出现问题,先安装系统依赖包 yum install apr autoconf automak ...
- Linux(DeepInOS) 下 mysql 的安装与基本配置
索引: 目录索引 参看代码 GitHub: DeepIn(GNU/Linux) MySQL 一.安装 1 sudo apt-get install mysql-server 2 期间需要输入两次密码, ...
- MySQL 免安装版的下载与配置教程
MySQL 免安装版的下载与配置教程 MySQL 的下载安装 附录 其它 MySQL 命令 查看本 MySQL 数据存放目录 此博客存在上一个版本,如果读者对笔者以前版本的博客依然感兴趣,可以访问此链 ...
- iOS - MySQL 的安装配置
前言 提前下载好相关软件,且安装目录最好安装在全英文路径下.如果路径有中文名,那么可能会出现一些莫名其妙的问题. 提前准备好的软件: mysql-5.7.17-macos10.12-x86_64.dm ...
- linux下Mysql 的安装、配置、数据导入导出
为什么80%的码农都做不了架构师?>>> <p><span>MySQL</span><span>是一种</span> ...
- linux中安装多个mysql_liunx系统下安装多个MySql数据库并做主从配置
在网上搜索了很多资料,都没有看到像样的文档,思路不是很清晰,对第一次安装的朋友来说较为困难,经过长时间的安装尝试和查询网上零碎的知识点,终于成功的完成Linux系统下多MySql数据库安装和主从配置, ...
- mysql 免安装版配置
mysql 免安装版详细配置 从mysql官网粗略看了一下,目前官网上仅提供5.7版32位的msi installer,64位的均为免安装版,需要进行配置.由于之前升级了一次系统,之前的mysql被移 ...
- debian编译mysql_MySQL数据库之Debian 6.02下编译安装 MySQL 5.5的方法
本文主要向大家介绍了MySQL数据库之Debian 6.02下编译安装 MySQL 5.5的方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 环境 : Debian 6.02 ...
- HIVE的安装配置、mysql的安装、hive创建表、创建分区、修改表等内容、hive beeline使用、HIVE的四种数据导入方式、使用Java代码执行hive的sql命令
1.上传tar包 这里我上传的是apache-hive-1.2.1-bin.tar.gz 2.解压 mkdir -p /home/tuzq/software/hive/ tar -zxvf apach ...
最新文章
- 字符串还可以这样初始化--uboot篇
- 使用Jenkins自动远程调用压测机实现不同用户场景下的并发测试
- Springboot - -web应用开发-Servlets, Filters, listeners
- 我的Java开发学习之旅------gt;Base64的编码思想以及Java实现
- java jpanel调用构造函数的时候就开始执行repaint_在Java Swing组件中劫持`repaint()`调用...
- jdbctemplate 批量操作
- java必读书籍_必读:Java Java
- 时时流量查看工具-ifsta,nload,iftop
- 复制带随机节点的链表
- python aes加密 cbc_【转载】python AES CBC模式加密
- servlet上传文件接收工具
- jsp网页上实现计算圆面积小程序
- 安徽大学java期末_安微大学2017~2018年度期末考试题卷
- 这个锅,运维来背?忘记续期 HTTPS 证书,网易邮箱大量用户无法使用
- 上下相机贴合对位计算公式_ccd视觉自动对位贴合机主要应用在哪里?
- 栈-剑指 Offer 30. 包含min函数的栈
- JNDI:对java:comp/env的研究
- 小迪外卖小程序源码+后台_外卖cps 赚钱小程序源码
- 计算机软件类自然科学基金标书,国家自然科学基金标书撰写——体会6(转发仅供参考)...
- Burp suite的扫描模块