新装完数据库之后,可以查看日志文件
grep "password" /var/log/mysqld.log
MySQL -uroot -p
密码,进去之后修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
或者
vim /etc/my.cnf
配置文件添加skip-grant-tables 可实现免密登陆
mysql>mysql -u root -p #登陆数据库
mysql> use mysql; ##使用mysql数据库 mysql> update user set authentication_string=password("123456") where user="root";##更新密码 mysql> flush privileges;##刷新权限 再次修改/etc/my.cnf,将之前添加的skip-grant-tables删掉,命令service myslqd restart重启mysql 至此myslq的root用户的密码就被更改为123456
1、新建用户:
mysql> CREATE USER 'username'@'host' IDENTIFIED BY 'password';
出现mysql修改密码Your password does not satisfy the current policy requirements
set global validate_password_policy=0
set global validate_password_length=4//密码长度
alidate_password_policy有以下取值:
Policy | Tests Performed |
---|---|
0 or LOW | Length |
1 or MEDIUM | Length; numeric, lowercase/uppercase, and special characters |
2 or STRONG | Length; numeric, lowercase/uppercase, and special characters; dictionary file |
2、创建新的数据库
CREATE DATABASE 数据库名
mysql> create database lxy; #创建lxy数据库
Query OK, 1 row affected (0.00 sec)
mysql> create database lyq; #创建lyq数据库
Query OK, 1 row affected (0.00 sec)
3、查看数据库
mysql> show databases; #查看数据库
+--------------------+
| Database |
+--------------------+
| information_schema |
| lxy |
| lyq |
| mysql |
| performance_schema |
| test |
+--------------------+
6 rows in set (0.00 sec)
4、切换数据库
mysql> use lxy; #切换到lxy数据库
Database changed
5、创建表
CREATE TABLE 表名 (字段1名称 类型,字段2名称 类型,……,primary key (主键名))
mysql> create table user (id int(10) not null,name char(20) default '', primary key (id));
Query OK, 0 rows affected (0.01 sec) #创建user表
mysql> create table aaa (id int(10) not null,name char(20) default '', primary key (id));
Query OK, 0 rows affected (0.04 sec) #创建aaa表
6、查看表
mysql> show tables; #查看表
+---------------+
| Tables_in_lxy |
+---------------+
| aaa |
| user |
+---------------+
2 rows in set (0.00 sec)
7、查看表结构
mysql> describe user; #查看表的结构
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| id | int(10) | NO | PRI | NULL | |
| name | char(20) | YES | | | |
+-------+----------+------+-----+---------+-------+
2 rows in set (0.00 sec)
8、导入数据脚本
(1)使用数据库
use 数据库;
set names utf8;
(2)导入数据
source /workspace/db-data/tablename.sql
1、添加用户
跟以往版本不同,MySQL5.7 mysql.user表没有password字段,这个字段改成了 authentication_string;
这里我们使用命令进行创建用户:
1 |
|
如创建一个test用户,密码为test123,可以进行远程登录:
1 |
|
2、删除用户
如果用户创建错了,肯定要支持删除操作,使用命令:
1 |
|
3、授权
授权test用户有testDB数据库的某一部分权限:
1 |
|
授权test用户有testDB数据库的所有操作权限:
1 |
|
授权test用户拥有所有数据库的某些权限:
1 |
|
在 Centos 7 中防火墙由 firewalld 来管理,而不是 iptables。
1. 查看防火墙状态#
Copy
firewall-cmd --state ## 结果显示为running或not running
2. 关闭防火墙firewall#
Copy
systemctl stop firewalld.service systemctl disable firewalld.service
3. 关闭防火墙firewall后开启#
Copy
systemctl start firewalld.service
4. 开启端口#
Copy
## zone -- 作用域 ## add-port=80/tcp -- 添加端口,格式为:端口/通讯协议 ## permanent -- 永久生效,没有此参数重启后失效 firewall-cmd --zone=public --add-port=3306/tcp --permanent ## 开启3306端口后,workbench或naivcat 就能连接到MySQL数据库了
5. 重启防火墙#
Copy
firewall-cmd --reload
6. 常用命令介绍#
Copy
firewall-cmd --state ##查看防火墙状态,是否是running firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令 firewall-cmd --get-zones ##列出支持的zone firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的 firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no firewall-cmd --add-service=ftp ##临时开放ftp服务 firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务 firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务 firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口 iptables -L -n ##查看规则,这个命令是和iptables的相同的 man firewall-cmd ##查看帮助 systemctl status firewalld.service ##查看防火墙状态 systemctl [start|stop|restart] firewalld.service ##启动|关闭|重新启动 防火墙 ##查询端口号80 是否开启 firewall-cmd --query-port=80/tcp
centos7环境下mysql表名大小写敏感问题
第一步:进入mysql
命令:
mysql -u root -p
- 1
然后输入密码 没有密码的情况下
mysql -u root
- 1
直接登陆mysql
第二步:
输入命令:
show variables like ‘%case%’;
- 1
查看mysql的大小写状态。
| lower_case_table_names | 0 |
说明默认是区分表名大小写的,所以进行一下配置。
1.用ROOT登录,修改/etc/my.cnf
2.在[mysqld]下加入一行:lower_case_table_names=1 //0代表区分大小写,1代表不区分大小写
3.重新启动数据库即可
MySQL 默认不允许远程以root进行登陆
进入mysql后
mysql>select host, user from user;
+--------------------+------+
| host | user |
+--------------------+------+
| 127.0.0.1 | root |
| ::1 | root |
| localhost | |
| localhost | root |
| vm\_144\_7\_centos | |
| vm\_144\_7\_centos | root |
+--------------------+------+
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
配置静态ip
以root权限编辑/etc/sysconfig/network-scripts/ifcfg-eno16777736这个文件,效果如下:
TYPE=Ethernet
BOOTPROTO=static #设置静态Ip
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=4f40dedc-031b-4b72-ad4d-ef4721947439
DEVICE=eno16777736
ONBOOT=yes #这里如果为no的话就改为yes,表示网卡设备自动启动
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_PRIVACY=no
GATEWAY=192.168.10.2 #这里的网关地址就是第二步获取到的那个网关地址
PADDR=192.168.10.150 #配置ip,在第二步已经设置ip处于192.168.10.xxx这个范围,我就随便设为150了,只要不和网关相同均可
NETMASK=255.255.255.0#子网掩码
DNS1=202.96.128.86#dns服务器1,填写你所在的网络可用的dns服务器地址即可
DNS2=8.8.8.8
#DNS2=114.114.114.114 #或者这一个