一、介绍: mysql数据库管理软件: 套接字:服务端,客户端;客户端可访问服务端得数据 1.支持并发;操作得是共享得数据 2.处理锁,数据安全,性能 3.用别人得软件,得照着别人得规范,组织自己得语法规则 本章学得内容: 1.mysql基本管理 2.sql语句得学习 二、概述: 1、数据库服务器:运行数据库管理软件的计算机 2、数据库管理软件:mysql,oracle,db2,slqserver mysql被oracle 收购了 3、库:文件夹 4、表:文件 5、记录:事物一系列典型的特征:egon,male,18,oldgirl 6、数据:描述事物特征的符号 三、MySQL 介绍: MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。 mysql是什么 mysql就是一个基于socket编写的C/S架构的软件 客户端软件 mysql自带:如mysql命令,mysqldump命令等 python模块:如pymysql 四、数据库管理软件分类: 分两大类: 关系型:如sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用 非关系型:mongodb,redis,memcache 可以简单的理解为: 关系型数据库需要有表结构,表结构 = 字段 + 数据类型 + 约束条件 非关系型数据库是key-value存储的,没有表结构 五、下载安装: 1.windows: windows - mysql下载安装 2.Limux:
1 http://www.cnblogs.com/linhaifeng/articles/7126847.html 2 centos7: 3 sudo su 4 yum -y install mariadb- server mariadb 5 centos6: 6 yum -y install mysql- server mysql 7 启动: 8 systemctl start mariadb 9 systemctl status mariadb 10 mysql 11 ... # 成功了 12 centos: 13 设置密码:...mysqladmin -uroot -p password "123" 14 忘记密码 跳过授权 15 systemctl stop mariadb 16 启动: 17 mysqld_safe --skip-grant-tables 18 sudo su 19 mysql -uroot -p 直接登录 20 update mysql.user set password=password("123") where user="root" and host="localhost"; 21 flush privileges; 22 exit 23 重启mysql 服务 24 杀死之前的mysql 25 pkill -9 mysql 26 再启动: 27 systemctl start mariadb # 正常的登录 28 mysql -uroot -p123 29 --------------------------------- 30 统一字符: 31 mysql 32 \s 33 exit 34 vim /etc/my.cnf 35 ini # 和上面一样 复制粘贴 内容.ini 到 my.cnf 36 wq! 37 systemctl restart mariadb 38 mysql 39 \s 40 就修改了... utf8 41 42 --------------------------------- 43 Ubuntu 安装mysql: 44 sudo apt-get install mysql-server mysql-client 45 sudo netstat -tap | grep mysql 46 mysql -uroot -p123
linux
3.mac:
1 ***.dmg 安装 2 设置环境变量 3 /usr/local/mysql 4 vim /etc/profile 5 PATH=/usr/local/mysql/bin:/usr/local/mongodb/bin:$PATH 6 export PATH 7 :wq! 8 .source /etc/profile 立即生效 9 mysql 10 >>>: ... 成功了 11 mysql 12 select user(); 13 exit; 14 mysqladmin -uroot -p password "123" 15 mysql -uroot -p123 16 mysqladmin -uroot -p123 password "456" 17 mysql -uroot -p456 18 关掉已经开启的; 19 跳过授权启动: 20 mysqld_safe --skip-grant--tables 21 sudo su 22 mysql -uroot -p # 不用密码也可以登录 23 修改密码: 24 update mysql.user set password=password("") where user="root" and host="localhost"; 25 flush privileges; 26 exit 27 关掉 再正常启动 28 ps aux | grep mysql 29 kill -9 6334 30 kill -9 6249 31 kill -9 6432 32 正常启动 工具 33 mysql -uroot -p 正常启动了 刚才没有设置密码 34 35 --------------------------------- 36 统一字符: 37 mysql 38 \s 39 exit 40 vim /etc/my.cnf 41 a 42 .ini 之前的内容复制 粘贴 43 esc :wq! 44 重启服务 45 mysql 46 \s 这样就修改了 utf-8
mac
六、MySQL启动与查看: 1.linux平台下查看 [[email protected] ~]# systemctl start mariadb #启动 [[email protected] ~]# systemctl enable mariadb #设置开机自启动 Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service. [[email protected] ~]# ps aux |grep mysqld |grep -v grep #查看进程,mysqld_safe为启动mysql的脚本文件,内部调用mysqld命令 mysql 3329 0.0 0.0 113252 1592 ? Ss 16:19 0:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr mysql 3488 0.0 2.3 839276 90380 ? Sl 16:19 0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock [[email protected] ~]# netstat -an |grep 3306 #查看端口 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN [[email protected] ~]# ll -d /var/lib/mysql #权限不对,启动不成功,注意user和group drwxr-xr-x 5 mysql mysql 4096 Jul 20 16:28 /var/lib/mysql You must reset your password using ALTER USER statement before executing this statement. 安装完mysql 之后,登陆以后,不管运行任何命令,总是提示这个 mac mysql error You must reset your password using ALTER USER statement before executing this statement. 解决方法: step 1: SET PASSWORD = PASSWORD(‘your new password‘); step 2: ALTER USER ‘root‘@‘localhost‘ PASSWORD EXPIRE NEVER; step 3: flush privileges; 2.windows平台到服务中查看即可 七、登录设置密码: 初始状态下,管理员root,密码为空,默认只允许从本机登录localhost 设置密码 [[email protected] ~]# mysqladmin -uroot password "123" 设置初始密码 由于原密码为空,因此-p可以不用 [[email protected] ~]# mysqladmin -uroot -p"123" password "456" 修改mysql密码,因为已经有密码了,所以必须输入原密码才能设置新密码 命令格式: [[email protected] ~]# mysql -h172.31.0.2 -uroot -p456 [[email protected] ~]# mysql -uroot -p [[email protected] ~]# mysql 以root用户登录本机,密码为空 八、破解密码: 1.linux平台下,破解密码的两种方式 方法一:删除授权库mysql,重新初始化 [[email protected] ~]# rm -rf /var/lib/mysql/mysql #所有授权信息全部丢失!!! [[email protected] ~]# systemctl restart mariadb [[email protected] ~]# mysql 方法二:启动时,跳过授权库 [[email protected] ~]# vim /etc/my.cnf #mysql主配置文件 [mysqld] skip-grant-table [[email protected] ~]# systemctl restart mariadb [[email protected] ~]# mysql MariaDB [(none)]> update mysql.user set password=password("123") where user="root" and host="localhost"; MariaDB [(none)]> flush privileges; MariaDB [(none)]> \q [[email protected] ~]# #打开/etc/my.cnf去掉skip-grant-table,然后重启 [[email protected] ~]# systemctl restart mariadb [[email protected] ~]# mysql -u root -p123 #以新密码登录 2.windows平台下,5.7版本mysql,破解密码的两种方式: 方式一 #1 关闭mysql #2 在cmd中执行:mysqld --skip-grant-tables #3 在cmd中执行:mysql #4 执行如下sql: update mysql.user set authentication_string=password(‘‘) where user = ‘root‘; flush privileges; #5 tskill mysqld #或taskkill -f /PID 7832 #6 重新启动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,然后就可以以新密码登录了 九、统一字符编码: 强调:配置文件中的注释可以有中文,但是配置项中不能出现中文 #在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]为准 统一字符编码 #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%‘ 十、初识sql语句: sql(Structured Query Language 即结构化查询语言) SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。 SQL语言分为3种类型: 1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER 2、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT 3、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE 文件夹(库),文件(表),文件内容(记录); 1.操作文件夹(库): 增:create database db1 charset utf8 查:show create database db1; show databases; 改:alter database db1 charset gbk; 删:drop database db1; 2.操作文件(表): 切换文件夹: use db1; select database(); 增:create table t1(id int,name char); 查:show tables; desc t1; show create table t1; show create table t1\G; 改:alter table t1 modify name char(6); alter table t1 change name name1 char(7); 删:drop table t1; 3.操作文件内容(记录): 增:insert into t1(id,name) values(1,‘alice1‘),(2,‘alice2‘),(3,‘alice3‘); insert into t1 values(1,‘egon1‘),(2,‘egon2‘),(3,‘egon3‘); 查:select id,name from db1.t1; select id from db1.t1; select * from db1.t1; # 不推荐使用 * 效率低 改:update db1.t1 set name=‘alex‘; update t1 set name=‘egon‘ where id=2; 删:delete from t1; delete from t1 where id=2;
原文地址:https://www.cnblogs.com/alice-bj/p/8824120.html
时间: 2024-10-10 07:06:05