Mysql使用记录
1. 安装
sudo apt-get install mysql-server
问题:mysql -u root -p 或 mysql -u your_user_name -p时出现如下error:出现错误: ERROR 1045 (28000): Access denied for user 'wieneralan'@'localhost' (using password: YES)
解决方案:
1. sudo mysql -u root -p
2. 更新密码: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password'; new-password是你想设置的密码
3. 重启mysql:
sudo service mysql stop
sudo service mysql start
2.创建数据库并授权给用户
进入mysql后,
CREATE DATABASE data_master; 创建名字为data_master的数据库
USE securities_master;
CREATE USER 'wieneralan'@'localhost' IDENTIFIED BY '1234'; 为数据库添加用户和密码。如果该用户已经存在,可以省略这步(否则会报错),直接进行下一步授权。
GRANT ALL PRIVILEGES ON data_master.* TO 'wieneralan'@'localhost'; 将当前数据库授权给wieneralan用户
FLUSH PRIVILEGES;
3. 进入某个数据库的方式
方式1:mysql -u wieneralan -p data_master 。直接进入。数据库已经授权给某个用户时, mysql -u 用户名 -p 数据库名
方式2:USE data_master。先进入用户,mysql -u wieneralan -p 然后 USE 数据库名
4. 创建数据表Table
CREATE TABLE `hs300name` ( `id` INT NOT NULL AUTO_INCREMENT, `code` VARCHAR(255) NOT NULL, `name` VARCHAR(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=UTF8;
注意是反引号`,不是单引号',
id
是一个自增长的整数,用作主键。code
和name
是用于存储编码和名字的字符串字段。- PRIMARY KEY (`id`) 字用于定义id列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
- NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
- 表格使用
InnoDB
存储引擎,AUTO_INCREMENT=1
,表示id
字段从1开始自动递增,同时指定了字符集为UTF8
。
5. 显示和删除数据库和表
SHOW DATABASES; 显示当前用户下的数据库
SHOW TABLES; 显示当前数据库下的数据表Table
DROP TABLE hs300name; 删除整个表,包括表结构
DELETE FROM hs300name; 删除表中所有的行,但表结构仍然保持不变
DELETE FROM hs300name WHERE id = 1; 从 hs300name
表格中删除 id
为 1 的行
6. 导出数据库,并导入到其他电脑
第一步:导出数据库数据到: SQL 文件 mysqldump -u [用户名] -p[密码] [数据库名] > 数据库名.sql
第二步:目标电脑创建一个与源数据库相同的空数据库: CREATE DATABASE [目标数据库名];
第三步:导入数据:mysql -u [用户名] -p[密码] [目标数据库名] < 数据库名.sql