mysql 安装与常用命令

人生处万类,知识最为贤。这篇文章主要讲述mysql 安装与常用命令相关的知识,希望能为你提供帮助。
mysql安装方式主要用yum、rpm、编译、二进制。
yum和rpm安装方式类似,安装速度快,yum更能解决安装过程中的依赖包问题;编译安装时间长,但此安装方式能根据自己的环境定制安装选项功能模块;二进制安装安装速度快,可以指定常见参数设置,生产中比较常用。
本次常用编译安装,其他几种方式后续介绍。
【mysql 安装与常用命令】第一步、安装:
准备软件包
yum -y installgcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake
编译
[root@server182 ~]# groupadd mysql
[root@server182 ~]# useradd -r -g mysql mysql
[root@server182 ~]# tar -zxvf mysql-5.6.10.tar.gz
[root@server182 ~]# cd mysql-5.6.10
[root@server182 mysql-5.6.10]# cmake .
[root@server182 mysql-5.6.10]# make & & make install -------------------------默认情况下是安装在/usr/local/mysql
[root@server182 ~]# chown -R mysql.mysql /usr/local/mysql
[root@server182 ~]# cd /usr/local/mysql/scripts
[root@server182 ~]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
[root@server182 ~]# cd /usr/local/mysql/support-files
[root@server182 ~]#/usr/local/mysql/bin/mysqld_safe &
[root@server182 support-files]# cp mysql.server /etc/rc.d/init.d/mysql
[root@server182 support-files]# cp my-default.cnf /etc/my.cnf
第2步、设置开机启动
[root@stonex ~]#chkconfig mysqld on
第3步、启动MySql服务
[root@stonex ~]#service mysqld start
第4步、设置MySQL的root用户设置口令
[root@stonex ~]#mysql -u root
Welcome to the MySQL monitor.Commands end with ; or \\g.
...... 省略了一些行
mysql> select user,host,password from mysql.user;
查询用户的口令,都为空,用下面的命令设置root的口令为root
mysql> set password for root@localhost=password(root);
mysql> exit
第5步、用新口令登陆
[root@stonex ~]#mysql -u root -p
第6步、基本命令
show databases; //查看系统已存在的数据库
use databasesname; //选择需要使用的数据库
drop database databasename; //删除选定的数据库
exit//退出数据库的连接
create database test01; //建立名为test的数据库
show tables; // 列出当前数据库下的表
其他基本的增删改查使用标准SQL即可
第7步、开放远程登录权限
GRANT ALL PRIVILEGES ON *.* TO root@% IDENTIFIED BY root WITH GRANT OPTION; //允许所有主机以root登陆 , 并允许提权权限
FLUSH PRIVILEGES; //刷新权限
GRANT ALL ON zabbix.* TO zabbix@10.4.0.52 IDENTIFIED BY zabbix; //允许主机10.4.0.52以zabbix连接数据库zabbix
grant all privileges on zabbix.* to zabbix@10.4.0.53 identified by zabbix;
create database zabbix character set utf8 collate utf8_bin; //创建数据库zabbix
第8步、mysql常用命令
mysql> use test;
mysql> show tables;
mysql> describe user; //查看表内容
------------查询命令----------
SELECT 字段1,字段名2 FROM 表名 WHERE 条件表达式
mysql> SELECT user,host,password FROM mysql.user WHERE user=;

mysql> select * from users;
----------新增命令-----------
CREATE TABLE 表名(字段1名称 类型,字段二名称 类型,PRIMARY KEY(主键名)
mysql> CREATE DATABASE benet; 创建
mysql> use benet;
mysql> CREATE TABLE users (user_name CHAR(16) NOT NULL, user_passwd CHAR(48) DEFAULT , PRIMARY KEY (user_name));
都是SQL基本语句。插入数据 INSERT INTO 表名(字段1,字段2)VALUES(字段1的值,字段2的值)
mysql> INSERT INTO users(user_name,user_passwd) VALUES(zhangsan, PASSWORD(123456));
mysql> INSERT INTO users VALUES(lisi, PASSWORD(654321));
------------删除命令--------------
DROP TABLE 删除一个数据表 需要指定 库名和表名
DROP DATABASE 删除一个数据库
DELETE FROM 表名 WHERE 条件表达式删除数据记录
mysql> DELETE FROM users WHERE user=lisi;
mysql> DROP TABLE users;
mysql> DROP DATABASE benet;
----------更改命令---------
UPDATE 表名 SET 字段名1=字段值1 WHERE 条件表达式
mysql> UPDATE users SET user_passwd=PASSWORD(abc123) WHERE user_name=lisi;
mysql> UPDATE mysql.user SET password=PASSWORD(123456) WHERE user=root;
mysql> flush privileges; //刷新授权信息
mysqladmin -u root -p password abc123(新口令)要输入的是旧口令!
mysql -u root -pabc123 //登录

---------------授权命令-------------------
GRANT 权限列表 ON 库名,表名 TO 用户名@来源地址 IDENTIFIED BY口令
mysql> GRANT select ON users TO tom@192.168.80.% IDENTIFIED BY 123456;
//新建tom用户口令设置为123456,对其授权只能查询users表。
mysql> flush privileges;
必须要刷新权限
mysql> SHOW GRANTS FOR tom@192.168.80.%;
mysql> REVOKE all ON user FROM helen@192.168.80.%;
---------------备份与恢复命令------------------
Mysqldump 选项 库名 表名1 表名2 > /备份路径/备份文件名导出库中部分表
Mysqldump 选项 -- all-databases 库名1 库名2> /备份路径/备份文件名备份所有数据库
mysqldump -u root -p --opt --all-databases > all-data.sql //备份所有数据库
mysqldump -u root -p --database auth > auth.sql //备份auth数据库
mysqldump -u root -p mysql user > mysql-user.sql //备份mysql的user表
mysql> create database mysql; //先建立mysql空库
mysql -u root -p mysql < mysql.sql //将备份还原到mysql数据库中。

    推荐阅读