数据库——MySQL及安装
what's the MySQL
MySQL是一个关系型数据库管理系统,MySQL 是目前最流行的关系型数据库管理系统之一,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
- 关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用
- 非关系型:mongodb,redis,memcache
MySQL下载及安装
- linux环境下(CentOS):
- #二进制rpm包安装
- yum -y install mysql-server mysql
- 1.解压tar包
- cd /software
- tar -xzvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
- mv mysql-5.6.21-linux-glibc2.5-x86_64 mysql-5.6.21
- 2.添加用户与组
- groupadd mysql
- useradd -r -g mysql mysql
- chown -R mysql:mysql mysql-5.6.21
- 3.安装数据库
- su mysql
- cd mysql-5.6.21/scripts
- ./mysql_install_db --user=mysql --basedir=/software/mysql-5.6.21 --datadir=/software/mysql-5.6.21/data
- 4.配置文件
- cd /software/mysql-5.6.21/support-files
- cp my-default.cnf /etc/my.cnf
- cp mysql.server /etc/init.d/mysql
- vim /etc/init.d/mysql #若mysql的安装目录是/usr/local/mysql,则可省略此步
- 修改文件中的两个变更值
- basedir=/software/mysql-5.6.21
- datadir=/software/mysql-5.6.21/data
- 5.配置环境变量
- vim /etc/profile
- export MYSQL_HOME="/software/mysql-5.6.21"
- export PATH="$PATH:$MYSQL_HOME/bin"
- source /etc/profile
- 6.添加自启动服务
- chkconfig --add mysql
- chkconfig mysql on
- 7.启动mysql
- service mysql start
- 8.登录mysql及改密码与配置远程访问
- mysqladmin -u root password 'your_password' #修改root用户密码
- mysql -u root -p #登录mysql,需要输入密码
- mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION; #允许root用户远程访问
- mysql>FLUSH PRIVILEGES; #刷新权限
源码安装mysql
- #1. 解压
- tar zxvf mariadb-5.5.31-linux-x86_64.tar.gz
- mv mariadb-5.5.31-linux-x86_64 /usr/local/mysql #必需这样,很多脚本或可执行程序都会直接访问这个目录
- #2. 权限
- #groupadd mysql #增加 mysql 属组
- useradd -g mysql mysql #增加 mysql 用户 并归于mysql 属组
- chown mysql:mysql -Rf /usr/local/mysql #设置 mysql 目录的用户及用户组归属。
- chmod +x -Rf /usr/local/mysql #赐予可执行权限
- #3. 拷贝配置文件
- cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf #复制默认mysql配置 文件到/etc目录
- #4. 初始化
- /usr/local/mysql/scripts/mysql_install_db --user=mysql #初始化数据库
- cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql #复制mysql服务程序 到系统目录
- chkconfig mysql on #添加mysql 至系统服务并设置为开机启动
- service mysql start #启动mysql
- #5. 环境变量配置
- vim /etc/profile #编辑profile,将mysql的可执行路径加入系统PATH
- export PATH=/usr/local/mysql/bin:$PATH
- source /etc/profile #使PATH生效。
- #6. 账号密码
- mysqladmin -u root password 'yourpassword' #设定root账号及密码
- mysql -u root -p #使用root用户登录mysql
- use mysql #切换至mysql数据库。
- select user,host,password from user; #查看系统权限
- drop user ''@'localhost';#删除不安全的账户
- drop user root@'::1';
- drop user root@127.0.0.1;
- select user,host,password from user; #再次查看系统权限,确保不安全的账户均被删除。
- flush privileges; //刷新权限
- #7. 一些必要的初始配置
- 1)修改字符集为UTF8
- vi /etc/my.cnf
- 在[client]下面添加 default-character-set = utf8
- 在[mysqld]下面添加 character_set_server = utf8
- 2)增加错误日志
- vi /etc/my.cnf
- 在[mysqld]下面添加:
- log-error = /usr/local/mysql/log/error.log
- general-log-file = /usr/local/mysql/log/mysql.log
- 3) 设置为不区分大小写,linux下默认会区分大小写。
- vi /etc/my.cnf
- 在[mysqld]下面添加:
- lower_case_table_name=1
- 修改完重启:#service mysql restart
源码安装mariadb
- windows环境下:
- #1、下载:MySQL Community Server 5.7.16
- http://dev.mysql.com/downloads/mysql/
- #2、解压
- 如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录,如:C:\mysql-5.7.16-winx64
- #3、添加环境变量
- 【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 -->
【将MySQL的bin目录路径追加到变值值中,用 ; 分割】- #4、初始化
- mysqld --initialize-insecure
- #5、启动MySQL服务
- mysqld # 启动MySQL服务
- #6、启动MySQL客户端并连接MySQL服务
- mysql -u root -p # 连接MySQL服务器
- 上一步解决了一些问题,但不够彻底,因为在执行【mysqd】启动MySQL服务器时,当前终端会被hang住,那么做一下设置即可解决此问题:
- 注意:--install前,必须用mysql启动命令的绝对路径
- # 制作MySQL的Windows服务,在终端执行此命令:
- "c:\mysql-5.7.16-winx64\bin\mysqld" --install
- # 移除MySQL的Windows服务,在终端执行此命令:
- "c:\mysql-5.7.16-winx64\bin\mysqld" --remove
- 注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:
- # 启动MySQL服务
- net start mysql
- # 关闭MySQL服务
- net stop mysql
将MySQL服务制作成windows服务
- Docker 安装MySQL:见地址Docker 安装 MySQL 并实现远程连接
MySQL基本管理
windows设置密码以及忘记密码时修改密码的操作(也可以作为破解密码的操作)
- #在cmd中执行:
- mysqld --skip-grant-tables#跳过授权表
- mysql#启动mysql
- #执行如下sql:
- update mysql.user set authentication_string=password('新密码') where user = 'root' and host='localhost';
- #在5.5,5.6的版本中authentication_string是Password
- flush privileges;#刷新权限
- quit
- tskill mysqld #关闭mysqld
- #重新启动mysql
- #1. 关闭mysql,可以用tskill mysqld将其杀死
- #2. 在解压目录下,新建mysql配置文件my.ini
- #3. my.ini内容,指定
- [mysqld]
- skip-grant-tables
- #4.启动mysqld
- #5.在cmd里直接输入mysql登录,然后操作
- update mysql.user set authentication_string=password('') where user='root and host='localhost';
- flush privileges;
- #6.注释my.ini中的skip-grant-tables,然后启动myqsld,然后就可以以新密码登录了
破解密码方式二
linux环境下:
- [root@egon ~]# rm -rf /var/lib/mysql/mysql #所有授权信息全部丢失!!!
- [root@egon ~]# systemctl restart mariadb
- [root@egon ~]# mysql
方法一:删除授权库,重新初始化
- [root@egon ~]# vim /etc/my.cnf #mysql主配置文件
- [mysqld]
- skip-grant-table
- [root@egon ~]# systemctl restart mariadb
- [root@egon ~]# mysql
- MariaDB [(none)]> update mysql.user set password=password("") where user="root" and host="localhost";
- MariaDB [(none)]> flush privileges;
- MariaDB [(none)]> \q
- [root@egon ~]# #打开/etc/my.cnf去掉skip-grant-table,然后重启
- [root@egon ~]# systemctl restart mariadb
- [root@egon ~]# mysql -u root -p123 #以新密码登录
方法二:启动时跳过授权库
在windows下,为mysql服务指定配置文件,以后登录的时候就不必每次都输入账号和密码了
注意:配置文件中的注释可以有中文,但是配置项中不能出现中文
- #在mysql的解压目录下,新建my.ini,然后配置
- #1. 在执行mysqld命令时,下列配置会生效,即mysql服务启动时生效
- [mysqld]
- ;skip-grant-tables
- port=3306
- character_set_server=utf8
- default-storage-engine=innodb
- innodb_file_per_table=1
- #解压的目录
- basedir=E:\mysql-5.7.19-winx64
- #data目录
- datadir=E:\my_data #在mysqld --initialize时,就会将初始数据存入此处指定的目录,在初始化之后,启动mysql时,就会去这个目录里找数据
- #2. 针对客户端命令的全局配置,当mysql客户端命令执行时,下列配置生效
- [client]
- port=3306
- default-character-set=utf8
- user=root
- password=123
- #3. 只针对mysql这个客户端的配置,2中的是全局配置,而此处的则是只针对mysql这个命令的局部配置
- [mysql]
- ;port=3306
- ;default-character-set=utf8
- user=egon
- password=4573
- #!!!如果没有[mysql],则用户在执行mysql命令时的配置以[client]为准
my.ini
统一字符编码
- #1. 修改配置文件
- [mysqld]
- default-character-set=utf8
- [client]
- default-character-set=utf8
- [mysql]
- default-character-set=utf8
- #mysql5.5以上:修改方式有所改动
- [mysqld]
- character-set-server=utf8
- collation-server=utf8_general_ci
- [client]
- default-character-set=utf8
- [mysql]
- default-character-set=utf8
- #2. 重启服务
- #3. 查看修改结果:
- \s
- show variables like '%char%'
相关链接
数据库——MySQL及安装的更多相关文章
- 数据库 —— mySQL 的安装
[转载Link]MySQL-5.6.24免安装版配置方法,有需要的朋友可以参考下. 1. 下载MySQL Community Server 5.6.24 2. 解压MySQL压缩包 将以下载的MySQ ...
- 数据库Mysql的安装及操作---数据引擎
一.1.什么是数据 描述事物的符号记录称为数据. 2.什么是数据库 存放数据的仓库,只不过这个仓库在计算机上存储设备上. 二.Mysql的介绍 ...
- 数据库MySql的安装
1.MySQL概述 MySQL最初是由“MySQL AB公司”开发的一套关系型数据库管理系统(RDBMS-Relation DataBase Management System).MySQL不仅是最流 ...
- 数据库/MySQL的安装
来源:https://www.cnblogs.com/liubing8/p/11431382.html mysql的安装.启动和基础配置 —— windows版本 1.下载 第一步:打开网址,http ...
- 【MySQL】数据库 --MySQL的安装
本篇教程主要讲解在CentOS 6.5下编译安装MySQL 5.6.14! 1.卸载旧版本: 使用下面的命令检测是否安装有MySQL server <span style="font- ...
- 数据库MySQL的安装与卸载
安装 MySQL 卸载 MySQL: 停止 MySQL 服务 开始-->所有应用-->Windows 管理工具-->服务,将 MySQL 服务停止. 卸载 mysql server ...
- <数据库>MySQL的安装及安装中存在的问题
无脑三连: 下载:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 解压:任意目录 添加环境变量:WIN10步骤 我的电脑→属性→高级系 ...
- linux篇-linux数据库mysql的安装
1数据库文件放到opt下面 2赋予权限775 3运行脚本 4运行成功 5数据库操作 密码修改并刷新 权限修改,允许外部设备访问 6工具连接 7附录 1.显示当前数据库服务器中的数据库列表: mysql ...
- day45 Pyhton 数据库Mysql 02
一.前期回顾 数据库 mysql的安装 配置环境 为什么要用数据库? 稳定性 一致性 并发 存取数据效率高 数据库的分类 关系型数据库 mysql oracle sqlserver 非关系型数据库 r ...
随机推荐
- android 编程之 PopupWindow 窗口的弹出
PopupWindow 是一个可以显示在当前 Activity 之上的浮动容器,PopupWindow 弹出的位置是能够改变的,按照有无偏移量,可以分为无偏移和有偏移两种:按照参照对象的不同又可以分为 ...
- 大杂烩 -- Iterator 并发修改异常ConcurrentModificationException
基础大杂烩 -- 目录 大杂烩 -- Java中Iterator的fast-fail分析 大杂烩 -- Iterator 和 Iterable 区别和联系 问题: 在集合中,判断里面有没有" ...
- ios开发之--关于UIView的autoresizingMask属性的研究
在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高. enum { UIViewAutoresizi ...
- 【laravel5.6】 laravel 执行 php artisan route:cache 报错 Unable to prepare route [/] for serialization. Uses Closure.
laravel 在部署的时候.需要优化路由加载,执行命令 php artisan route:cache 报错了.如下 这个异常的错误信息,提示的已经非常明确了:大概意思就是说在闭包里边,是不能够进行 ...
- python3 日志检索异常抛出异常 raise KeyError(key),KeyError: 'formatters'
原因分析,python3启动时,检索的不是项目包下的目录文件,所以日志文件必须指明路径.我原来的日志方式是: import logging.config log_path = "mlpcap ...
- redis(二)--用Redis作MySQL数据库缓存
用Redis作MySQL数据库缓存,必须解决2个问题.首先,应该确定用何种数据结构存储来自mysql的数据:在确定数据结构之后,还要考虑用什么标识作为该数据结构的键. 直观上看,Mysql中的数据都是 ...
- WPF使用Canvas绘制可变矩形
1.问题以及解决办法 最近因为项目需要,需要实现一个位置校对的功能,大致的需求如下:有一个图片,有一些位置信息,但是位置信息可能和实际有些偏差,需要做简单调整,后面会对这张图片进行切割等,做些处理.( ...
- [No000012F]WPF(7/7) - 样式,触发器和动画
WPF Tutorial : Beginning [^] WPF Tutorial : Layout-Panels-Containers & Layout Transformation [^] ...
- [No0000DD]C# StringEx 扩展字符串类 类封装
using System; using System.Text.RegularExpressions; namespace Helpers { /// <summary> /// 包含常用 ...
- Django:模型model和数据库mysql(一)
以一个栗子尝试来记录: 两个表存储在数据库中,BookInfo表示书,HeroInfo表示人物.一本书中有多个人物 在MySQL中新建一个数据库Django1,不用创建表,用Django模型来配置数据 ...