从今天开始开始MySQL相关方面的东西
上节的内容是MySQL 5.7的安装
这节内容是日常的一些命令
系统为windows 10
数据库为MySQL 5.7.25
1. 启停数据库
1.1 Windows
管理员权限
net start mysql
net stop mysql
无需管理员权限
mysqladmin -uroot -p shutdown
1.2 Linux
Linux版本的安装后续讲解
service mysqld stop
service mysqld start
2. 安装后安全性设置
2.1 修改密码
$ mysql -uroot -p
mysql>set password=password('your_passord');
2.2 删除测试用户和数据库
mysql>delete from mysql.db where db in('test', 'test\_%');
mysql>delete from mysql.user where user='';
mysql>delete from mysql.user where authentication_string='';
2.3 修改管理员账号
下面命令将root 改名为system 并赋予本地登录权限
mysql>update mysql.user set user='system' where user='root' and host='localhost';
mysql>grant all on *.* to 'system'@'127.0.0.1' identified by '123456' with grant option;
mysql>delete from mysql.user where Host='%' and user='root';
mysql>flush privileges;
修改后需要使用如下命令登录
mysql -usystem -p123456 -h 127.0.0.1
3. 新建数据库及用户
如下语句新建test数据库,使用默认的字符集
并建立user1账户,赋予其test数据库的所有权限
%代表所有客户端都可登录
PS:MySQL的账号是 用户名和登录权限的结合,二者在一起构成一个账号
mysql>create database test;
mysql>grant all on test.* to 'user1'@'%' identified by '123456';
4. 表的相关操作
mysql -uuser1 -p123456 -h 127.0.0.1
mysql>use test
CREATETABLEIF NOTEXISTS `test`(
`test_id` INTUNSIGNED AUTO_INCREMENT,
`test_title` VARCHAR(100) NOTNULL,
PRIMARYKEY( `test_id` ))ENGINE=InnoDB DEFAULTCHARSET=utf8mb4;
insert into test values (1,'first row');
select * from test;
5. 变量的查询
5.1 系统变量的查询
查询会话变量
可通过指定 session 查询会话变量
不加的话默认是会话变量
使用%匹配所有字符
mysql> show variables like '%read_only%';
mysql> show variables like '%chara%'
下面方法不支持%通配符
mysql> select @@character_set_client;
查询全局变量
可通过 global 查询全局变量
mysql> show global variables like '%read_only%';
mysql> show global variables like '%character%'
5.2 查询状态变量
MySQL中的状态变量用户系统监控和性能分析
会话及全局参考上面系统变量
也可使用%通配符
mysql> show session status like '%Table_locks_immediate%';
6. 修改系统变量
6.1 全局变量
修改全局变量影响后续新连接的会话
并不会影响当前会话
数据库重新后失效,如果需要保持,请写入配置文件中
set global character_set_client=utf8;
6.2 会话变量
修改会话变量只影响当前会话
默认不加关键字为修改会话变量
set character_set_client=gbk;