mysql数据库

ubuntu 安装mysql

Deadly 提交于 2020-01-12 11:43:28
ubuntu 安装mysql 1、打开终端,并取得root权限 2、在终端输入: apt-get install mysql-server apt-get install mysql-client apt-get install libmysqlclient-dev 安装过程中,必要的地方需要输入“Y”进行确定。 上面这三条命令执行完以后,要想检测mysql是否安装成功,可输入下面的命令进行查看: netstat -tap | grep mysql 若出现下图所示的情况,即为安装成功。 3、实现远程控制mysql (1)编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf,注释掉bind-address = 127.0.0.1 如下图所示: (2)在mysql下执行授权命令(授权给远程任意的计算机登陆数据库) 在终端键入mysql -uroot -p您的密码 进入mysql后,键入下面命令: grant all privileges on *.* TO 'root'@'%' identified by '123456' with grant option; 然后刷新配置信息,在终端键入下面的命令: flush privileges; 进行完后使用exit退出mysql。 4、执行完以上步骤后,重启mysql服务。命令如下: service mysql

mysql:悲观锁与乐观锁

好久不见. 提交于 2020-01-12 09:07:59
为什么会使用到数据库级别的锁? 你可能会有这么一个疑问:现在的程序已经提供了很完善的锁机制来保证多线程的安全问题,还需要用到数据库级别的锁吗?我觉得还是需要的,为什么呢?理由很简单,我们再编程中使用的大部分锁都是单机,尤其是现在分布式集群的流行,这种单机的锁机制就保证不了线程安全了,这个时候,你可能又会想到使用redis的setNX分布式锁 或者 zookeeper的强一致性来保证线程安全,但是这里我们需要考虑到一个问题,那就是成本问题,有的时候使用redis分布式锁以及zookeeper会增加维护的成本,结合实际出发,再说没有百分百安全的程序,所以再数据库层加锁,也能将安全再提升一级,所以还是有必要的。 什么是悲观锁 悲观锁,正如其名,具有强烈的独占和排他特性。它指的是对数据被外界(包括本系统当前的其他 事务 ,以及来自外部系统的 事务处理 )修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的 排他性 ,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。 通俗的讲:开启一个事务之后开启悲观锁,这时候数据库将会锁着你需要查询的某条数据或者某张表,其他事务中的查询将会处于阻塞状态,开启悲观锁事务里面操作不会被阻塞,这点有点类似java中的互斥锁,那什么时候锁记录

Innodb数据库损坏导致mysql锁死

白昼怎懂夜的黑 提交于 2020-01-12 08:02:06
问题 MySQL自3.23.58版本以后,提供了名为InnoDB的引擎提供存储过程等功能 当服务器发生意外断电等错误的时候,可能导致innodb锁死 用top命令查看,发现mysqld进程占用cpu达到100%并无法正常启动、关闭 070316 12:30:43 mysqld started 070316 12:30:43 InnoDB: Database was not shut down normally! InnoDB: Starting crash recovery. InnoDB: Reading tablespace information from the .ibd files... InnoDB: Restoring possible half-written data pages from the doublewrite InnoDB: buffer... 070316 12:30:43 InnoDB: Starting log scan based on checkpoint at InnoDB: log sequence number 0 2347685. InnoDB: Doing recovery: scanned up to log sequence number 0 2347685 070316 12:30:43 InnoDB: Error: page

Hive搭建单用户模式(MySql)

。_饼干妹妹 提交于 2020-01-12 07:23:24
在虚拟机上搭建Hive单用户模式,前提是搭建好hadoop高可用集群,这里就不详细介绍如何搭建hadoop高可用集群了,详细介绍请看 搭建Hadoop MapReduce V2高可用集群 所用的Hive版本是1.2版本和mysql-connector-java-5.1.32-bin.jar 1、安装mysql 1、使用yum安装mysql,使用命令: yum install mysql-server 2、安装完成之后启动服务:service mysqld start 3、修改用户访问权限: GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123’ WITH GRANT OPTION; // 允许任何人访问,密码是123 flush privileges; // 更新 2、安装Hive 将Hive解压到一个地址,我这里解压到了 /opt/hes 目录下 配置环境变量 在终端输入hive,按下tab键,配置成功时显示: 3、修改配置 1、进入hive文件的conf文件中,将 hive-default.xml.template 修改为 hive-site.xml 2、将<configuration></configuration> 标签内的东西删除,添加下边的东西 < property > < name > hive

mysql安装及初始密码问题

百般思念 提交于 2020-01-12 06:43:23
1)mysql 安装 1.安装MySQL YUM资源库   [root@localhost ~]# yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 2.此时可以使用以下命令搜索到所需安装mysql   [root@localhost ~]# yum search mysql 3.安装   [root@localhost ~]# yum -y install mysql-community-server.x86_64 4.启动数据库    [root@localhost ~]#systemctl start mysqld(centos7上使用systemctl,其他版本的centos可能使用service,我一直用的centos7) 5.设置开启自启动   [root@localhost ~]#systemctl enable mysqld 6.安装完成 2)mysql初始密码问题(适用于mysql5.7以上版本) 1.由于我上一个数据库卸载没完全的问题,所以cat /var/log/mysqld.log|grep temporary并不能获得初始密码   [root@localhost ~]# cat /var/log/mysqld.log|grep

sphinx 配置sphinx.conf

青春壹個敷衍的年華 提交于 2020-01-12 03:50:06
sphinx的配置文件是在配置的时候最容易出错的了: 基本概念: source:数据源,数据是从什么地方来的。 index:索引,当有数据源之后,从数据源处构建索引。索引实际上就是相当于一个字典检索。有了整本字典内容以后,才会有字典检索。 searchd:提供搜索查询服务。它一般是以deamon的形式运行在后台的。 indexer:构建索引的服务。当要重新构建索引的时候,就是调用indexer这个命令。 attr:属性,属性是存在索引中的,它不进行全文索引,但是可以用于过滤和排序。 sphinx的配置文件过于冗长,我们把sphinx默认的配置文件中的注释部分去掉,重新进行描述理解,就成下面的样子了: ## 数据源src1 source src1 { ## 说明数据源的类型。数据源的类型可以是:mysql,pgsql,mssql,xmlpipe,odbc,python ## 有人会奇怪,python是一种语言怎么可以成为数据源呢? ## python作为一种语言,可以操作任意其他的数据来源来获取数据,更多数据请看:(http://www.coreseek.cn/products-install/python/) type = mysql ## 下面是sql数据库特有的端口,用户名,密码,数据库名等。 sql_host = localhost sql_user = test sql

mysql

本小妞迷上赌 提交于 2020-01-12 00:10:48
mysql import pymysql 1.连接数据库 conn = pymysql . connect ( host = 'localhost' , user = 'root' , password = 'redhat' , db = 'westos' , charset = 'utf8' ) 2.创建游标对象 cur = conn . cursor ( ) 3.对数据库操作 ######创建数据表############# try : create_sqli = 'create table hello (id int,name varchar(30));' cur . execute ( create_sqli ) except Exception as e : print ( '创建数据表失败:' , e ) else : print ( '创建数据成功' ) 插入多条数据 try : info = [ ( i , i ) for i in range ( 100 , 1000 ) ] # 第一种方式 # inser_sqli = "insert into hello values(%d,'%s');" # for item in info: # print('insert语句:',inser_sqli %item) # cur.execute(inser_sqli

CentOS7安装MySQL

梦想的初衷 提交于 2020-01-11 23:35:30
在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。 (1)下载并安装MySQL官方的 Yum Repository [ root @localhost mysql ] # wget - i - c http : / / dev . mysql . com / get / mysql57 - community - release - el7 - 10. noarch . rpm 使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。 [ root @localhost mysql ] # yum - y install mysql57 - community - release - el7 - 10. noarch . rpm 之后就开始安装MySQL服务器 [ root @localhost mysql ] # yum - y install mysql - community - server 这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。 至此MySQL就安装完成了,然后是对MySQL的一些设置。 (2)MySQL数据库设置 首先启动MySQL [ root @localhost mysql ] #

mysql-xtrabackup

懵懂的女人 提交于 2020-01-11 23:31:56
##xtrabackup 选项详情 ###innobackupex 参数选项 --defaults-file=[MY.CNF] //指定配置文件:只能从给定的文件中读取默认选项。 且必须作为命令行上的第一个选项;必须是一个真实的文件,它不能是一个符号链接。 --databases=# //指定备份的数据库和表,格式为:--database="db1[.tb1] db2[.tb2]" 多个库之间以空格隔开,如果此选项不被指定,将会备份所有的数据库。 --include=REGEXP //用正则表达式的方式指定要备份的数据库和表,格式为 --include=‘^mydb[.]mytb’ ,对每个库中的每个表逐一匹配,因此会创建所有的库,不过是空的目录。--include 传递给 xtrabackup --tables。 --tables-file=FILE //此选项的参数需要是一个文件名,此文件中每行包含一个要备份的表的完整名称,格式为databasename.tablename。该选项传递给 xtrabackup --tables-file,与--tables选项不同,只有要备份的表的库才会被创建。 注意:部分备份(--include、--tables-file、--database)需要开启 innodb_file_per_table 。 --compact //创建紧凑型备份

Linux下二进制文件安装MySQL

不打扰是莪最后的温柔 提交于 2020-01-11 23:18:56
MySQL 下载地址: https://dev.mysql.com/downloads/mysql/ 并按如下方式选择来下载安装包。 1. 设置配置文件/etc/my.cnf [client] port = 3306 socket = /usr/local/mysql/socketfile/mysql.sock default-character-set=utf8 [mysqld] user=mysql port = 3306 server_id = 1 socket=/usr/local/mysql/socketfile/mysql.sock basedir =/usr/local/mysql datadir =/usr/local/mysql/data pid-file=/usr/local/mysql/data/mysqld.pid log-error=/usr/local/mysql/log/mysql-error.log character_set_server=utf8 max_connections=1000 2.新建用户和用户组 groupadd mysql useradd -g mysql mysql 3.解压mysql二进制文件到目录/usr/local目录下,并重命名为mysql cd /usr/local tar -xf /root/mysql-5.7.18