MySQL相关操作

MySQL相关操作

.MySQL常用操作

1.安装MySQL

进入目录下载mysql安装包并解压

[root@localhost ~]# cd /usr/local/src/

[root@localhost src]# ls

mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz  

[root@localhost src]# tar -zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz

移动mysql/usr/local/mysql

[root@localhost src]# mv mysql-5.6.43-linux-glibc2.12-x86_64 /usr/local/mysql

添加用户

[root@localhost src]# useradd -s /sbin/nologin mysql

新建/data/mysql,更改所有者及所属组

[root@localhost src]# cd /usr/local/mysql/

[root@localhost mysql]# mkdir -p /data/mysql

[root@localhost mysql]# chown -R mysql:mysql /data/mysql/

编译

[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

需要下载扩展源perl-Module-Install

编译完成后测试是否成功

[root@xserver1 mysql]# echo $?

0

覆盖my.cnf文件

[root@xserver1 mysql]# cp support-files/my-default.cnf /etc/my.cnf

cp:是否覆盖"/etc/my.cnf"y

复制mysql.serverinit.d

[root@xserver1 mysql]# cp support-files/mysql.server /etc/init.d/mysqld

修改mysqld权限

[root@xserver1 mysql]# chmod 755 /etc/init.d/mysqld

修改mysqld文件

[root@xserver1 mysql]# vi /etc/init.d/mysqld

...

datadir=/data/mysql    //此目录为初始化数据库时定义的目录

...

将脚本加入系统服务项

[root@xserver1 mysql]# chkconfig --add mysqld

设置开机自启

[root@xserver1 mysql]# chkconfig mysqld on

[root@xserver1 mysql]# service mysqld start

Starting MySQL.Logging to ‘/data/mysql/xserver1.err‘.

....... SUCCESS!

查看MySQL是否启动

 MySQL相关操作

 

 

2.更改root密码

源码安装需要更改将脚本命令加入环境变量中

 

方法一:

直接修改环境变量

[root@localhost mysql]# export PATH=$PATH:/usr/local/mysql/bin/

方法二:

将此段命令写入环境变量中

 MySQL相关操作

 

 MySQL相关操作

 

 

 

使环境变量生效

 MySQL相关操作

 

 

2.1创建mysql密码

创建MySQL的密码

[root@localhost mysql]# mysqladmin -uroot password ‘123456‘

Warning: Using a password on the command line interface can be insecure.

:warning提示为屏幕输入密码不安全可以忽略

 

使用新创建密码登录

[root@localhost mysql]# mysql -uroot -p123456

注:当密码比较复杂时-p选项后可以加上’ ’单引号

 MySQL相关操作

 

 

 

2.2重置密码

修改配置文件

[root@localhost mysql]# vi /etc/my.cnf

...

[mysqld]

skip-grant       //添加此行--忽略授权操作直接登录

...

重启mysql

[root@localhost mysql]# /etc/init.d/mysqld restart

 MySQL相关操作

 

 

登录mysql

[root@localhost mysql]# mysql

 MySQL相关操作

 

 

切换到mysql

mysql> use mysql;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

 

Database changed

对用户表进行更新

mysql> update user set password=password(‘wslinux‘) where user=‘root‘;

Query OK, 4 rows affected (0.01 sec)

Rows matched: 4  Changed: 4  Warnings: 0

注:第一个password表示一个字段,第二个password表示一个函数用来加密

 

user表中查询用户名为root的密码(已加密)

 MySQL相关操作

 

 

将修改的配置文件删除

 MySQL相关操作

 

 

重启mysql

 MySQL相关操作

 

 

尝试使用新密码登录

 MySQL相关操作

 

 

3.连接mysql

3.1 输入用户名和密码来链接本机,直接登录数据库

[root@localhost mysql]# mysql -uroot -p‘wslinux‘

 MySQL相关操作

 

 

3.2链接其他ip远程服务器的MySQL

[root@localhost mysql]# mysql -uroot -p‘wslinux‘ -h127.0.01 -P3306

 MySQL相关操作

 

 

3.3 使用通讯方式socket登录,只适合本机登陆(相当于直接登录)

[root@localhost mysql]# mysql -uroot -p‘wslinux‘ -S/tmp/mysql.sock

 MySQL相关操作

 

 

 

3.4链接MySQL时进行操作命令

查看MySQL库列表

[root@localhost mysql]# mysql -uroot -p‘wslinux‘ -e "show databases"

 MySQL相关操作

 

 

注:-e后接操作命令

4.mysql常用命令

查询库

mysql> show databases;

 

 MySQL相关操作

 

 

切换库

mysql> use mysql;

 MySQL相关操作

 

 

 

查看库中表

mysql> show tables;

 MySQL相关操作

 

 

注:此表为MySQL库中的表,此操作需要进入库中操作

 

查看表中字段

mysql> desc user;         //命令后跟表名

 MySQL相关操作

 

 

 

查看建表语句(查看表是如何创建的)

mysql> show create table user\G;     //命令语句后跟表名

 MySQL相关操作

 

 

注:\G表示通过竖行显示

 

查看当前登录用户 (使用ip登录时会看到用户名)

mysql> select user();

 MySQL相关操作

 

 

 

查看当前使用的数据库

mysql> select database();

 MySQL相关操作

 

 

创建库

mysql> create database ws;    //想要创建的库名

 MySQL相关操作

 

 

 

创建表(需要先切换到表中在创建)

mysql> use ws; create table t1(`id` int(4),`name` char(40));

 MySQL相关操作

 

 

注:上述命令可以分开进行也可以同时进行;第一个字段叫id,指定格式为int最长是4;第二个字段时name,格式为字段最长为40;需要使用 ` `引号扩起来

查看表内容

 MySQL相关操作

 

 

注:可以自定义字符集

 

删除表

 MySQL相关操作

 

 

自定义字符集

 MySQL相关操作

 

 

注:删除原来的表,在创建表的后面从新加上引擎和字符集

 

查看当前数据库版本

mysql> select version();

 MySQL相关操作

 

 

查看数据库状态

mysql> show status;

 MySQL相关操作

 

 

 

查看数据库的各参数

mysql> show variables;

mysql>show variables like ‘max_connect%‘;    

 MySQL相关操作

 

 

注:第一段命令为查看所有参数,第二段为查看指定参数

 

修改参数(可以在my.cnf修改也可以在MySQL中修改)

修改链接数:

mysql>  set global max_connect_errors=1000;

 MySQL相关操作

 

 

 

查看队列

mysql> show processlist;   

mysql>show full processlist;

注:两段命令的差距在于info的区别,第二段命令可以显示全命令

 MySQL相关操作

 

 

5.mysql创建用户以及授权

使每个用户对某一个数据库有权限或者对某一个表有权限,目的是为了为防止误操作

 

进行授权

mysql> grant all on *.* to ‘user1‘ identified by ‘passwd‘;  //对所有的权限,on表示在那个库中进行授权,*.*表示对所有的库进行授权,to表示对用户或ip进行授权,认证方式为passwd即密码登录

Query OK, 0 rows affected (0.00 sec)

 

mysql> grant SELECT,UPDATE,INSERT on db1.* to ‘user2‘@‘127.0.0.1‘ identified by ‘passwd‘;

Query OK, 0 rows affected (0.00 sec)

表示意义:给予权限为查询更新插入,授权库为db1开头的库都有此权限,受理用户为user2,指定ip登录,密码为passwd

mysql> grant all on db1.* to ‘user3‘@‘%‘ identified by ‘passwd‘;

Query OK, 0 rows affected (0.00 sec)

表示意义:给予所有权限,对所有ip进行授权,受理用户为user3,密码为passwd

 MySQL相关操作

 

 

注:mysql的命令历史文件不保存grant命令,MySQL的命令历史保存在root目录下

mysql的命令历史文件

 MySQL相关操作

 

 

 

查看授权表(查看root的指定授权表)

mysql> show grants;

 MySQL相关操作

 

 

查看user2受理的权限内容

mysql> show grants for user2@127.0.0.1;     //查看指定用户的授权表信息

 MySQL相关操作

 

 

实例:

常用使用方法:当已知用户,需要增加授权的ip,但不知道密码时,只需要将查出来的grant表的内容从新做一遍即可

 MySQL相关操作

 

 MySQL相关操作

 

 MySQL相关操作

 

 

 MySQL相关操作

 

 

此时这个用户通过133.1133.2都可以进行访问

 

 

MySQL相关操作

上一篇:MVC中的奇葩错误,参数转对象


下一篇:密度聚类-DBSCANE