rokevin
移动
前端
语言
  • 基础

    • Linux
    • 实施
    • 版本构建
  • 应用

    • WEB服务器
    • 数据库
  • 资讯

    • 工具
    • 部署
开放平台
产品设计
  • 人工智能
  • 云计算
计算机
其它
GitHub
移动
前端
语言
  • 基础

    • Linux
    • 实施
    • 版本构建
  • 应用

    • WEB服务器
    • 数据库
  • 资讯

    • 工具
    • 部署
开放平台
产品设计
  • 人工智能
  • 云计算
计算机
其它
GitHub
  • MySQL

MySQL

官方网站

https://www.mysql.com/

安装

官方文档

https://dev.mysql.com/doc/refman/5.7/en/innodb-locking.html

学习

https://www.jianshu.com/p/f1095f011777

技术站最全MySQL数据库实战规范

环境搭建

mysql: centos7下快速安装mysql http://blog.csdn.net/czmchen/article/details/46645763 MySQL修改root密码的多种方法 http://jingyan.baidu.com/article/0320e2c198ad5f1b87507bc8.html GRANT http://blog.sina.com.cn/s/blog_4fcd1ea30100z0fe.html MySQL中授权(grant)和撤销授权(revoke) http://blog.csdn.net/andy_yf/article/details/7487519

无法退出编辑行 http://blog.sina.com.cn/s/blog_67ae19eb01013ywz.html 用 ‘\c 退出

GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY ‘labjoke' WITH GRANT OPTION; REVOKE ALL PRIVILEGES ON . FROM 'root'@'%' IDENTIFIED BY ‘labjoke' WITH GRANT OPTION; FLUSH PRIVILEGES;

‘root’@‘localhost’ 这个用户可以不用密码 mysql -u root -p回车 输入密码

如果要远程连接mysql 需要通过授权,可以移除授权 授权需要在root账号下进行 创建账户 授权账户 连接远程mysql

insert into mysql.user(User,Password) values("lab joke",password("lab joke"));

最近在向mysql插入用户的时候,突然出现了Field 'ssl_cipher' doesn't have a default value的错误,现已解决,步骤如下: 在mysql的user表中增加连接用户帐号: 这里不要直接使用INSERT语句添加user记录,使用INSERT可能出现: ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value错误。 那么就不用insert了,换种方法: GRANT USAGE ON . TO ‘labjoke’@'%' IDENTIFIED BY ‘labjoke' WITH GRANT OPTION; “username”替换为将要授权的用户名,比如clientusr; “password”替换为clientusr设置的密码; locaohost可以改为%,方便你从别的IP登录。 然后对你建的用户进行授权 GRANT ALL PRIVILEGES ON . TO ‘labjoke’@'%' IDENTIFIED BY ‘labjoke’ WITH GRANT OPTION; 本语句中的权限根据实际需要确定: "tablename"替换为授权访问的数据表table名 "username"是步骤2授权用户名 "password"是步骤2授权用户的设置密码 这样就为该用户授予了对某数据表的SELECT, INSERT, UPDATE, DELETE, CAREATE, DROP权限。 4、生效授权,创建完毕 一句话即可:FLUSH PRIVILEGES;

MySQL连接数据库命令

1.MySQL 连接本地数据库,用户名为"root",密码"123456" (注意:"-p"和"123456" 之间不能有空格)
>mysql -h localhost -u root -p123456
2.MySQL 连接远程数据库(192.168.0.201),端口"3306",用户名为"root",密码"123456"
>mysql -h 192.168.1.1 -P 3306 -u root -p123456
3.MySQL 连接本地数据库,用户名为"root",回车后输入密码
>mysql -h localhost -u root -p
4.MySQL 连接本地数据库,用户名为"root",指定所连接的数据库为"db_test"
>mysql -h localhost -u root -p123456 -D db_test

Mysql安装卸载

安装

下载DMG Archive进行安装 安装地址

卸载

命令行输入下列命令进行卸载
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*
MySQL参考手册

问题:

1.忘记密码

If you lose this password, please consult the section How to Reset the Root Password in the MySQL reference manual.

step1:

左上角苹果图标->系统偏好设置->最下边点MySQL 在弹出页面中 关闭mysql服务(点击stop mysql server)

step2:

进入终端输入命令

cd /usr/local/mysql/bin/

进入mysql命令目录继续下面操作

./mysqld_safe --skip-grant-tables

进入mysql

shell> mysql

在mysql中使用以下语句刷新授权表

mysql> FLUSH PRIVILEGES;

执行修改密码语句,语句有如下两个版本

MySQL 5.7.6以后版本

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

MySQL 5.7.5和以前版本

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
step3:

用root用户和新密码连接MySQL服务,停止服务,在重启服务。

Mysql 远程登录及常用命令

第一招、mysql服务的启动和停止 net stop mysql net start mysql 第二招、登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是: mysql> 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP 第三招、增加新用户 格式:grant 权限 on 数据库.* to 用户名@登录主机 identified by "密码" 如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数 据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令: grant select,insert,update,delete on . to user1@localhost Identified by "password1"; 如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。 如果你不想user1有密码,可以再打一个命令将密码去掉。 grant select,insert,update,delete on mydb.* to user1@localhost identified by "";

第四招: 操作数据库 登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。 1、 显示数据库列表。 show databases; 缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。 2、 显示库中的数据表: use mysql; show tables; 3、 显示数据表的结构: describe 表名; 4、 建库与删库: create database 库名; drop database 库名; 5、 建表: use 库名; create table 表名(字段列表); drop table 表名; 6、 清空表中记录: delete from 表名; 7、 显示表中的记录: select * from 表名;

第五招、导出和导入数据

  1. 导出数据: mysqldump --opt test > mysql.test 即将数据库test数据库导出到mysql.test文件,后者是一个文本文件 如:mysqldump -u root -p123456 --databases dbname > mysql.dbname 就是把数据库dbname导出到文件mysql.dbname中。
  2. 导入数据: mysqlimport -u root -p123456 < mysql.dbname。 不用解释了吧。
  3. 将文本数据导入数据库: 文本数据的字段数据之间用tab键隔开。 use test; load data local infile "文件名" into table 表名; 1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2、创建一个数据库MYSQLDATA mysql> CREATE DATABASE MYSQLDATA; 3:选择你所创建的数据库 mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!) 4:查看现在的数据库中存在什么表 mysql> SHOW TABLES; 5:创建一个数据库表 mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 6:显示表的结构: mysql> DESCRIBE MYTABLE; 7:往表中加入记录 mysql> insert into MYTABLE values ("hyq","M"); 8:用文本方式将数据装入数据库表中(例如D:/mysql.txt) mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE; 9:导入.sql文件命令(例如D:/mysql.sql) mysql>use database; mysql>source d:/mysql.sql; 10:删除表 mysql>drop TABLE MYTABLE; 11:清空表 mysql>delete from MYTABLE; 12:更新表中数据 mysql>update MYTABLE set sex="f" where name='hyq'; posted on 2006-01-10 16:21 happytian 阅读(6) 评论(0) 编辑 收藏 收藏至365Key 13:备份数据库 mysqldump -u root 库名>xxx.data 14:例2:连接到远程主机上的MYSQL 假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令: mysql -h110.110.110.110 -uroot -pabcd123 // 远程登录 (注:u与root可以不用加空格,其它也一样) 3、退出MYSQL命令: exit (回车)

MAC下安装与配置MySQL

http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html

基本操作

  1. 情况一

查看test用户的权限

show grants for test;

返回

+----------------------------------------------------------------------------------------------------+
| Grants for ddd@%                                                                                   |
+----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'test'@'%' IDENTIFIED BY PASSWORD '*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' |
| GRANT ALL PRIVILEGES ON `database1`.* TO 'test'@'%'                                                        |
| GRANT ALL PRIVILEGES ON `database2`.* TO 'test'@'%'                                                    |
+----------------------------------------------------------------------------------------------------+

使用下面命令把database3库授权给test用户

GRANT ALL PRIVILEGES ON `database3`.* TO 'test'@'%'
  1. 情况二

创建用户:

create user 'usertest'@'%' identified by 'test_user';

进入mysql : use mysql;

创建数据库:
create database test_data DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

grant all privileges on `test_data`.* to 'test_user'@'%' identified by 'test123';


flush privileges;

https://www.2cto.com/database/201412/357165.html

http://www.cnblogs.com/eczhou/archive/2012/07/12/2588187.html

mysql删除用户的两种方法

drop

drop user XXX;删除已存在的用户,默认删除的是'XXX'@'%'这个用户,如果还有其他的用户如'XXX'@'localhost'等,不会一起被删除。如果要删除'XXX'@'localhost',使用drop删除时需要加上host即drop user 'XXX'@'localhost'。

delete

delete from user where user='XXX' and host='localhost';其中XXX为用户名,localhost为主机名。

区别

drop不仅会将user表中的数据删除,还会删除其他权限表的内容。而delete只删除user表中的内容,所以使用delete删除用户后需要执行FLUSH PRIVILEGES;刷新权限,否则下次使用create语句创建用户时会报错。

资料

带你学习MySQL索引

https://blog.csdn.net/java_zone/article/details/22803019 http://www.itpub.net/2019/09/19/3165/ https://www.cnblogs.com/jpfss/p/7867668.html https://www.cnblogs.com/feichexia/p/MysqlDataBackup.html https://blog.csdn.net/helloxiaozhe/article/details/77680255 https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=mysqldump%20-h&oq=mysqldump%2520%25E5%25AF%25BC%25E5%2587%25BA%25E8%25BF%259C%25E7%25A8%258B%25E6%2595%25B0%25E6%258D%25AE%25E5%25BA%2593&rsv_pq=ccf4ff6d00011b8b&rsv_t=15e6NVTFTOw5jRttNwcc0oEldb9tfY5tWUX2Z2oVoR9dOyIi9GTms1TvpOs&rqlang=cn&rsv_enter=1&inputT=569&rsv_sug3=43&rsv_sug1=38&rsv_sug7=100&rsv_sug2=0&rsv_sug4=570 https://blog.csdn.net/skydreamer01/article/details/3900655

最近更新:: 2025/10/22 15:36
Contributors: luokaiwen, 罗凯文