一、安装MySql
1、在Linux中安装mysql5.7
下载yum Repository
wget -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
安装yum Repository
yum -y install mysql57-community-release-el7-10.noarch.rpm
安装mysql5.7
yum -y --nogpgcheck install mysql-community-server
开机自启动
systemctl enable mysqld.service
启动mysql
systemctl start mysqld.service
查看状态
systemctl status mysqld.service
获取临时密码
grep "password" /var/log/mysqld.log
登录mysql
mysql -uroot -p
关闭密码复杂验证
set global validate_password_policy=0;
set global validate_password_length=1;
设置密码
alter user user() identified by "123456";
修改权限
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; --修改权限
flush privileges; --刷新权限
select host,user,authentication_string from user; --查看权限
从linux操作
卸载yum Repository
因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:
yum -y remove mysql57-community-release-el7-10.noarch
2、如果安装失败,删除文件,重新安准
删除依赖包
rpm -qa |grep -i mysql
yum remove mysql-community mysql-community-server mysql-community-libs mysql-community-common
清理文件
find / -name mysql
rm -rf 文件名
二、mysql在Navicat中自带的一个问题
在Navicat中对连接新建查询编辑器运行下面的命令去解决:
set@@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
然后关闭连接,重新连接。
三、mysql -u用户名(默认root) -p密码
用来在Linux中运行mysql。
例:mysql -uroot -p123456
四、SQL语句:每个命令执行结束加分号结束,命令在Linux和Navicat中都能使用,不区分大小写。
查询所有数据库:show databases;
切换数据库:use 库命名; 相当于进入某个数据库
创建数据库:create database [IF NOT EXISTS] 库名; [] 表示中间的语句可不加,但如果已经创建了,运行会报错,使用时[]不用加。
删除数据库:drop database [IF EXISTS] 库名;
查询数据库创建:show create database 库名;
指定数据库采用的字符集:CHARACTER SET 字符集
五、修改mysql默认字符集(改为UTF-8)
1、在Linux中编辑配置文件:vim /etc/my.cnf
在文件中添加以下内容,不要重复的加有的内容。
[client]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
2、 重启MySQL
systemctl restart mysqld
3、登录并查看MySQL编码
mysql -uroot -p123456
进入mysql后运行下面的命令可以查看MySQL的编码。
show variables like "%char%";
六、建表
1、格式:
create table [if exists] 表名(
字段1 数据类型 字段属性,
字段2 数据类型 字段属性,
...
字段N 数据类型 字段属性 //最后一行没有,
)engine=引擎 default charset=编码集; 引擎和编码集如果不指定就是默认的,可以不写。
2、数据类型
字符串类型 主要是:varchar和char,varchar用的是后要在后面写上固定的大小varcahr(255)
UTF-8:一个汉字=3个字节
3、表命令
查看当前数据库:select database();
查看建表语句:show create table 表名;
查看表结构:desc 表名;
删除:drop table [if exists] 表名;
4、字段属性(字段属性可以不唯一,可加多个)
not null:设置属性不为空,如果在给表写数值时为空,保存会报错。int类型空格不算数据,保存会报错,而vachar类型空格算数据。
AUTO_INCREMENT:定义列为自增的属性,一般用于主键,数值会自动加1,自增只能加给数值。
PRIMARY KEY:定义字段为主键,可以在数据类型后面加,也可以单独一行但后面要加上(字段名),主键表示该字段的数据不能重复。
default null:没给值数据就是null
default 值:设置字段的默认值
字段名 enum('值1','值2'):设定该字段只能是后面设定的值,不用加数据类型了。
5、对表内容进行增删改查
Navicat点击表,进入后底部有个一排命令