二进制安装MySQL
我们平时安装MySQL都是源码包安装的,但是由于它的编译需要很长的时间,所以,阿铭建议你安装二进制免编译包。你可以到MySQL官方网站去下载 http://dev.mysql.com/downloads/ 具体版本根据你的平台和需求而定,目前比较常用的为mysql-5.0/mysql-5.1, 5.5版本虽然已经发布有段日子了,但是貌似用在线上跑服务的还是少数。所以,阿铭建议你下载一个5.1的版本。
1.下载mysql到/usr/local/src/
cd /usr/local/src/
wget http://syslab.comsenz.com/downloads/linux/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz
2.解压
[root@localhost src]# tar zxvf /usr/local/src/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz
3.把解压完的数据移动到/usr/local/mysql
[root@localhost src]# mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql
4.建立mysql用户
[root@localhost src]# useradd -s /sbin/nologin mysql
5.初始化数据库
[root@localhost src]# cd /usr/local/mysql
[root@localhost mysql]# mkdir -p /data/mysql ; chown -R mysql:mysql /data/mysql
[root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
–user 定义数据库的所属主, --datadir 定义数据库安装到哪里,建议放到大空间的分区上,这个目录需要自行创建。这一步骤很关键,如果你看到两个 “OK” 说明执行正确,否则请仔细查看错误信息,如果你实在解决不了,请把问题发到论坛 (http://www.aminglinux.com/bbs/forum-40-1.html)阿铭会来帮你解决问题。
6.拷贝配置文件
[root@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf
7.拷贝启动脚本文件并修改其属性
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql]# chmod 755 /etc/init.d/mysqld
8.修改启动脚本
[root@localhost mysql]# vim /etc/init.d/mysqld
需要修改的地方有 “datadir=/data/mysql” (前面初始化数据库时定义的目录)
9.把启动脚本加入系统服务项,并设定开机启动,启动mysql
[root@localhost mysql]# chkconfig --add mysqld
[root@localhost mysql]# chkconfig mysqld on
[root@localhost mysql]# service mysqld start
如果启动不了,请到 /data/mysql/ 下查看错误日志,这个日志通常是主机名.err. 检查mysql是否启动的命令为:
[root@localhost mysql]# ps aux |grep mysqld
更改mysql数据库root的密码
首次进入数据库是不用密码的:
[root@localhost ~]# /usr/local/mysql/bin/mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.40-log MySQL Community Server (GPL)Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
退出的话,直接输入quit或者exit即可。细心的读者也许会发现,阿铭在上一条命令中,使用的是绝对路径,这样不方便,但是单独只是输入一个 “mysql” 命令是不行的,因为 “/usr/local/mysql/bin” 没有在 PATH 这个环境变量里。如何把它加入环境变量PATH中?之前阿铭介绍过:
[root@localhost ~]# PATH=$PATH:/usr/local/mysql/bin
这样就可以了,但重启Linux后还会失效,所以需要让它开机加载:
[root@localhost ~]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost ~]# source /etc/profile
[root@localhost ~]# mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.40-log MySQL Community Server (GPL)Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
阿铭再来解释一下上一条命令 -u 的含义,它用来指定要登录的用户,后边可以有空格,也可以无空格,root用户是mysql自带的管理员账户,默认没有密码的,那么如何给root用户设定密码?按如下操作:
[root@localhost ~]# mysqladmin -uroot password ‘yourpassword’
这样就设置了 ‘root’ 账号的密码了,不妨再来用上面的命令登陆一下试试看:
[root@localhost ~]# mysql -uroot
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)
报错了,这是在提示我们,root账号是需要密码登陆的。
[root@localhost ~]# mysql -uroot -p'yourpassword'
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.1.40-log MySQL Community Server (GPL)Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
需要加一个 -p 选项,它后面可以直接跟密码,后面不可以有空格,不过密码最好用单引号括起来,不括也可以,但是密码中如果有特殊字符就会有问题了,所以最好是括起来吧。当然, -p后面也是可以不加密码,而是和用户交互的方式,让我们输入密码:
[root@localhost ~]# mysql -uroot -p
Enter password:
连接数据库
刚刚讲过通过使用 mysql -u root -p 就可以连接数据库了,但这只是连接的本地的数据库 “localhost”, 可是有很多时候都是去连接网络中的某一个主机上的mysql。
[root@localhost ~]# mysql -uroot -p -h192.168.137.10 -P3306
Enter password:
其中后边的 -P(大写) 用来指定远程主机mysql的绑定端口,默认都是3306, -h 用来指定远程主机的IP.
MySQL操作命令
首先需要切换到某个库里去:
mysql> use mysql;
Database changed
查看某个表的全部字段
mysql> desc slow_log;
也可以使用两一条命令,显示比这个更详细,而且可以把建表语句全部列出来:
mysql> show create table slow_log\G;
查看当前是哪个用户
mysql> select user();
查看当前数据库版本
mysql> select version();
查看当前mysql状态
mysql> show status;
查看mysql的参数
mysql> show variables;
修改mysql的参数
mysql> show variables like 'max_connect%';
看当前mysql服务器的队列
这个在日常的管理工作中使用最为频繁,因为使用它可以查看当前mysql在干什么,可以发现是否有锁表:
mysql> show processlist;
创建一个普通用户并授权
mysql> grant all on *.* to user1 identified by '123456';
Query OK, 0 rows affected (0.01 sec)
all 表示所有的权限(读、写、查询、删除等等操作), . 前面的 * 表示所有的数据库,后面的 * 表示所有的表,identified by 后面跟密码,用单引号括起来。这里的user1指的是localhost上的user1,如果是给网络上的其他机器上的某个用户授权则这样:
mysql> grant all on db1.* to 'user2'@'10.0.2.100' identified by '111222';
Query OK, 0 rows affected (0.01 sec)
用户和主机的IP之间有一个@,另外主机IP那里可以用%替代,表示所有主机,例如:
mysql> grant all on db1.* to 'user3'@'%' identified by '231222';
查询语句
mysql> select count(*) from mysql.user;
+----------+
| count(*) |
+----------+
| 8 |
+----------+
1 row in set (0.00 sec)
mysql.user表示mysql库的user表;count(*)表示表中共有多少行。
mysql> select * from mysql.db;
这个用来表示查询mysql库的db表中的所有数据,也可以查询单个字段或者多个字段:
mysql> select db from mysql.db;
mysql> select db,user from mysql.db;
同样,在查询语句中可以使用万能匹配 “%”
mysql> select * from mysql.db where host like '10.0.%';
** 插入一行**
mysql> insert into db1.t1 values (1, 'abc');
Query OK, 1 row affected (0.02 sec)mysql> select * from db1.t1;
+------+------+
| id | name |
+------+------+
| 1 | abc |
+------+------+
1 row in set (0.00 sec)
更改表的某一行
mysql> update db1.t1 set name='aaa' where id=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0mysql> select * from db1.t1;
+------+------+
| id | name |
+------+------+
| 1 | aaa |
+------+------+
1 row in set (0.00 sec)
清空表数据
mysql> truncate table db1.t1;
Query OK, 0 rows affected (0.01 sec)mysql> select count(*) from db1.t1;
+----------+
| count(*) |
+----------+
| 0 |
+----------+
1 row in set (0.00 sec)
删除表
mysql> drop table db1.t1;
Query OK, 0 rows affected (0.00 sec)
删除数据库
mysql> drop database db1;
Query OK, 0 rows affected (0.02 sec)
mysql数据库的备份与恢复
备份:
[root@localhost ~]# mysqldump -uroot -p'yourpassword' mysql >/tmp/mysql.sql
使用 mysqldump 命令备份数据库,-u 和 -p 两个选项使用方法和前面说的 mysql 同样,而后面的 “mysql” 指的是库名,然后重定向到一个文本文档里。备份完后,你可以查看 /tmp/mysql.sql 这个文件里的内容。
恢复和备份正好相反:
[root@localhost ~]# mysql -uroot -p'yourpassword' mysql </tmp/mysql.sql
二进制安装MySQL相关推荐
- 二进制安装mysql集群_实战mysql集群搭建(一)--centos7下二进制安装mysql-5.6
在超哥的帮助下,完成了基于InnoDb数据引擎的mysql数据库集群搭建,实现了主从复制的功能,本篇博文介绍如何使用二进制安装mysql的方法,具体实现步骤如下: 软件使用说明: Liunx系统:ce ...
- 二进制安装mysql及MySQL增删改查
二进制安装mysql及MySQL增删改查 1. MySQL简介 2. MySQL的特点 3. 数据库在 Web 开发中的重要地位 4. 安装MySQL 4.1 首先需要下载MySQL的包 4.3 解决 ...
- 二进制安装mysql 5.7、mariadb (附yum安装方式)
前言: 本文以mariadb为例进行讲解,安装mysql同理,并以通过测试.安装前查找系统已安装的相关包(rpm -qa|grep -e "mysql" -e "mari ...
- centos7 二进制安装mysql,Centos7 二进制安装mysql5.7
安装环境 系统版本:CentOS Linux release 7.5.1804 (Core) Mysql版本:5.7.24 关闭防火墙并禁止开机自启 systemctl stop firewalld. ...
- linux 二进制安装mysql
mysql安装为什么大部分使用二进制安装.而不是源码手动去编译? mysql使用的glibc进行开发的.glibc库是一个底层api,所以只要是linux,都会有glibc库.所以,mysql安装不需 ...
- CentOS 8 通过二进制安装 MySQL
需求:CentOS8下采用二进制安装包的形式安装MySQL,并且指定数据库文件存放的路径地址. 步骤如下: 在 MySQL下载地址 中下载 MySQL 二进制安装包. 注意:在版本选择的时候,版本号在 ...
- 二进制安装mysql集群_基于二进制安装Cloudera Manager集群
一.环境准备 参考链接:https://www.cnblogs.com/zhangzhide/p/11108472.html 二.安装jdk(三台主机都要做) 下载jdk安装包并解压:tar xvf ...
- CentOS系统二进制安装MySQL
1. 下载软件 本次安装演示采用mysql-5.7.12版本 https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.12-linux-glibc2.5- ...
- centos7.4二进制安装mysql
1:下载二进制安装包(安装时确保没有mysql数据库服务器端): mariadb-10.2.12-linux-x86_64.tar.gz. mariadb-10.2.12.tar.gz. 2:创建系统 ...
最新文章
- 14 款免费漂亮的 BuddyPress 主题
- python next day_PYTHON养成日记 DAY-13
- RabbitMQ for windows
- xpath以某个字符开始_XPATH简单使用
- Java8 LocalDateTime和Date相互转换
- VMD变分模态分解代码,C++代码下载
- [IOS]——播放器AVPlayer的实现
- CodeBlocks新手安装以及汉化(20,03版本)
- 大疆DJI2019届秋季招聘笔试:机器学习算法工程师
- 怎么用图片编辑器给证件照换底色
- mysql - rank函数的使用
- linux进程假死的原因_Linux系统死机的原因及解决办法
- MyBatis—MyBatis概述
- 【MagNet】《Progressive Semantic Segmentation》
- python学习(二十一)
- 全新2022测算系统完整版+支持对接结
- 绿色版 MySQL 安装配置的正确操作步骤
- RabbitMQ-客户端源码之ChannelManager
- java项目-第34期基于SpringBoot实现的中小医院HIS管理系统【毕业设计】
- 计算机一级电子表格求和,Excel表格如何进行单个求和以及批量求和操作-电脑自学网...
热门文章
- 基于卷积神经网络的图像情感分析模型,Python实现
- extjs mysql_ExtJS与PHP、MySQL实现存储
- python绘制并列的条形图的方法_如何并排绘制具有相同X坐标的条形图('dodged')...
- 用友CDM系统期初导入商品资料经验
- 阿里巴巴(alibaba)系列_druid 数据库连接池_监控(一篇搞定)记录执行慢的sql语句...
- 《计算机系统:核心概念及软硬件实现(原书第4版)》——1.4数据库系统
- 1227: [SDOI2009]虔诚的墓主人
- Golang通过syscall调用windows dll方法
- 网页素材大宝库:20套精美的清爽风格图标素材
- 禁止WinXP文件夹自动展开