导读 mysql安装方式主要用yum、rpm、编译、二进制。yum和rpm安装方式类似,安装速度快,yum更能解决安装过程中的依赖包问题;编译安装时间长,但此安装方式能根据自己的环境定制安装选项功能模块;二进制安装安装速度快,可以指定常见参数设置,生产中比较常用。

本次常用编译安装,其他几种方式后续介绍。

第一步、安装:

准备软件包

yum -y install gcc 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数据库中。

原文来自:https://blog.51cto.com/coklan/5022391

本文地址:https://www.linuxprobe.com/mysql-an.html编辑:王华超,审核员:逄增宝

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/