1、下载安装包
下载地址:https://dev.mysql.com/downloads/mysql/
根据操作系统类型选择相应的安装包,比如windows64bit选择如下安装包下载。
下载后解压即可使用,不需要安装。
2、配置
在mysql-8.0.17-winx64目录下新建一个my.ini文件,里面填入如下信息。
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\software\\mysql-8.0.17-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
datadir=D:\\software\\mysql-8.0.17-winx64\\data
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
3、初始化数据库配置。 mysqld --initialize --console 注意:要将data目录中的文件全部删掉先。
2019-09-02T09:32:26.782467Z 0 [System] [MY-013169] [Server] D:\software\mysql-8.0.17-winx64\bin\mysqld.exe (mysqld 8.0.17) initializing of server in progress as process 2076
2019-09-02T09:32:26.783813Z 0 [Warning] [MY-013242] [Server] --character-set-server: 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
2019-09-02T09:33:10.212984Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 3WhU_.fKZF9j
2019-09-02T09:33:33.586614Z 0 [System] [MY-013170] [Server] D:\software\mysql-8.0.17-winx64\bin\mysqld.exe (mysqld 8.0.17) initializing of server has completed
初始完成后会创建一个密码:比如上面的3WhU_.fKZF9j,需要先记住,后面可以修改。
4、安装数据库。mysqld install
5、启动服务 net start mysql
至此,数据库服务器启动起来了。
6、登录MySQL
(1)mysql -u root -p然后会提示输入密码,输入第3步产生的密码即可。
(2)启动及关闭MySQL服务器
启动:mysqld --console
关闭:mysqladmin -uroot shutdown
**注意事项:数据库安装后执行命令报ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
解决办法:
mysql> SET PASSWORD = 'bear8009';
mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
(3)添加一个用户
INSERT INTO user (host, user, select_priv, insert_priv, update_priv, ssl_cipher, x509_issuer, x509_subject) VALUES ('localhost', 'guest', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
7、操作数据库
(1)显示所有的数据库 show databases;
(2)切换到某数据库 use mysql; 或 use sys;
(3)显示当前数据库中的所有表 show tables;
(4)显示某表中的所有列 show columns from session; (session是表名)
(5)显示某表中的索引 show index from session; (session是表名) 如果没有索引,将显示Empty set。
(6)显示表的状态 show table status [from db_name] like [like ‘pattern’] \G \G表示查询结果按列打印。
(7)创建数据库 create database 数据库名; 可以使用show databases;来查询是否成功创建了。
(8)删除数据库 drop database 数据库名; 可以使用show databases;来查询是否成功删除了。
(9)创建数据表 CREATE TABLE table_name ( column_name column_type);
CREATE TABLE IF NOT EXISTS `runoob_tbl`( `runoob_id` INT UNSIGNED AUTO_INCREMENT, `runoob_title` VARCHAR(100) NOT NULL, `runoob_author` VARCHAR(40) NOT NULL, `submission_date` DATE, PRIMARY KEY ( `runoob_id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
(10)删除数据表 DROP TABLE table_name; 可以使用show tables;来查询是否成功删除了。
(11)插入数据 INSERT INTO table_name (filed1, field2, …, field3) VALUES (value1, value2, …, valuen); 插入完成后可以用SELECT * FROM table_name;
(12)查询数据 SELECT column_name, FROM table_name [WHERE clause] [LIMIT m] [OFFSET n]
(13)更新数据 UPDATE table_name SET field1=new_value1,field2=new_value2 [WHERE clause]
(14)删除数据 DELETE FROM table_name [WHERE clause] 此指令只是删除表中的数据,表还是存在的(空表),如果要删除表,可以使用DROP TABLE table_name;
(15)LIKE。 SELECT * FROM dispatch_sys_data WHERE currentNode_Y LIKE ‘0.%’
(16)UNION MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。
SELECT country FROM websites UNION SELECT country FROM apps ORDER BY country;
(17)排序 ASC, DESC
8、MySql数据库操作工具
MySql Workbench ---Oracle
Navicat ---
MySql Utilities ---Oracle