Bootstrap

mysql运维知识总结

mysql运维

windows下登录mysql:mysql -uroot -p(在cmd下执行),然后输入密码即可

如果发现如图所下所示的内容,说明没有配环境变量

在系统变量Path下新增一条路径(到bin目录)即可

查询所有数据库:show databases;

选择某数据库:use  test_database;(test_database是你的数据库名)

查询数据库种的所有表:show tables;

表信息操作:

select * from test_table;(test_table是你的表名)

truncate table test_table;    或者  delete from test_table where 1=1;(删除test_table的表数据保留表结构)

update test_table set table_column_name='123' where table_column_name='' (更新表的数据)

insert into table_name (列1, 列2,...) VALUES (值1, 值2,....) (插入数据)

数据导出操作:

select * from test_table into outfile 'C:/test.txt'

当我们第一次执行这种导出操作时会报这样的问题:

我们来查看一下secure-file-priv这个变量的值(show variables like '%secure%';)

secure-file-priv的值有三种情况:

  • secure_file_prive=null ––限制mysqld 不允许导入导出
  • secure_file_priv=/path/ – --限制mysqld的导入导出只能发生在默认的/path/目录下
  • secure_file_priv=’’ – --不对mysqld 的导入 导出做限制

这时我们需要修改my.ini文件

打开my.ini,修改内容为下图

然后重启mysql(在服务中找到mysql,右键重启即可)

然后我们再次登录到mysql,查看secure的信息(可以看到secure_file_priv变成空了)

然后我们再次执行到处操作:

又出现了权限问题,别着急我们继续研究

最终我们通过如下方式成功导出,导出位置为C:/tmp/test.txt

导出为sql文件:

导出整个数据库:mysqldump -uroot -p databases_name > c:\test.sql

导出单个表的数据:mysqldump -uroot -p databases_name table_name > c:test_table.sql

导入sql数据到数据库:

先创建数据库

然后运行命令 :mysql -uroot -p database_name < c:\test.sql

mysql下载

最新版下载:MySQL :: Download MySQL Installer

历史版本下载:MySQL :: Download MySQL Installer (Archived Versions)

我选择最新的5.7版本,即5.7.37(注意mysql安装有两种方法,一种是msi安装,另一种是zip解压安装,第二种方法需要自己配环境,我觉得挺麻烦的还容易出错,所以我用的msi安装方式)

utf8_unicode_ci和utf8_general_ci的区别:

utf8_unicode_ci使用Unicode标准中定义的Unicode排序算法,而utf8_general_ci是一种更简单的排序算法,排序更快,但会导致"不太准确"的排序结果(这个不太准确可以忽略不计).

mysql查询时如何增加一个序号字段:

SET @row_number = 0;
-- 注意这里不能直接使用,*
SELECT @row_number:=@row_number+1,t.* FROM test_table t;
;