A very cool thing: Install MYSQL from source without root access on LINUX
最近由于工作的需要,要在centos上安装MYSQL服务器。作为一名小兵中的小兵,当然是没有root权限的,为了能够使用mysql,只能使用源码安装了(因为binary安装方式似乎需要root access的)
一、Mysql下载
mysql.5.6.24
二、解压
tar zxvf mysql.tar.gz
三、配置
参考了许多地方,最后稀里糊涂进行了一下配置,关键是安装的位置,数据库的位置,配置文件的位置这三个吧
cmake ./ -DCMAKE_INSTALL_PREFIX=$HOME/local/mysql \
-DMYSQL_DATADIR=$HOMElocal/mysql/data \
-DSYSCONFDIR=$HOME/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=$HOME/local/tmp/mysqld.sock \
-DMYSQL_TCP_PORT=8812 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
四、安装
make && make install
五、安装数据库
这里实际上刚开始一致不太成功,原因是mysql一直去找一个写默认的位置,当然是没有写的权限的,最后在[1]得到了非常大的启发。
实际上,为了屏蔽掉这些默认的设置我们只需要找一个配置文件作为这些命令的输入就可以了
./scripts/mysql_install_db --defaults-file=~/my.cnf --user=martin --basedir=$HOME --datadir=/home/martin/sql_data --socket=/home/martin/socket
上面的参数value要具体改为我们自己的value
上面的那个my.cnf文件非常关键,我们最好考一个安装成功之后再一定的目录下面
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html # This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port = 3666
socket = /home/guofeng/local/etc/mysql/mysqld.sock # Here is entries for some specific programs
# The following values assume you have at least 32M ram # This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = /home/guofeng/local/etc/mysql/mysqld.sock
nice = 0 [mysqld]
#
# * Basic Settings
#
user = guofeng
pid-file = /home/guofeng/local/etc/mysql/mysql.pid
socket = /home/guofeng/local/etc/mysql/mysqld.sock
port = 3666
basedir = /home/guofeng/local/mysql
datadir = /home/guofeng/local/etc/mysql/datadir
tmpdir = /home/guofeng/local/etc/mysql/tmp
lc-messages-dir = /home/guofeng/local/etc/mysql/
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 1M
query_cache_size = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
general_log_file = /home/guofeng/local/etc/mysql/datadir/mysql.log
general_log = 1
#
# Error log - should be very few entries.
#
log_error = /home/guofeng/local/etc/mysql/datadir/log.err
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem [mysqldump]
quick
quote-names
max_allowed_packet = 16M [mysql]
#no-auto-rehash # faster start of mysql but no tab completition [isamchk]
key_buffer = 16M #
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
六、启动
./mysqld_safe --defaults-file=/home/guofeng/local/etc/mysql/my.cnf --skip-grant-tables&
ps -ef | grep mysql
七、进入数据库
mysql -u root -p
随便输入一个密码
进去之后创建一个新的用户[2]
创建用户,授权.
Sql代码
create user lzquan identified by '123456'; grant all privileges on *.* to 'lzquan'@'localhost' identified by '123456'; flush privileges; Sql代码
删除用户,收回权限
Sql代码
delete from mysql.user where user='lzquan' and host='localhost'; revoke all on testuser .* from 'lzquan'@localhost;
八、如何通过ip地址访问数据库?
在实际当中访问数据库,当然要通过ip地址,但是mysql这是如果使用ip地址进行访问就会出现问题。
在[3]中找到了答案。
[1] http://superuser.com/questions/209203/how-can-i-install-mysql-on-centos-without-being-root-su
[2] http://blog.knowsky.com/223198.htm
[3] http://www.2cto.com/database/201410/346908.html
A very cool thing: Install MYSQL from source without root access on LINUX的更多相关文章
- install mysql from source and troubleshooting example
I tried to install MySQL 5.7 from source file and upgrading previous MySQL version to the lastest 5. ...
- 在OSX狮子(Lion)上安装MYSQL(Install MySQL on Mac OSX)
这篇文章简述了在Mac OSX狮子(Lion)上安装MySQL Community Server最新版本v10.6.7的过程. MySQL是最流行的开源数据库管理系统.首先,从MySQL的下载页面上下 ...
- How to Install MySQL on CentOS 7
CentOS 7的yum源中貌似没有正常安装mysql时的mysql-sever文件,需要去官网上下载 # wget http://dev.mysql.com/get/mysql-communit ...
- gem install mysql遇到问题。解决方案
今天遇到的问题,是使用gem install mysql遇到的.报下面的错误 Building native extensions. This could take a while... ERROR: ...
- linux install mysql
sudo apt-get install mysql-server #此处会输入root的密码,设置的密码要记住 sudo apt-get install mysql-client sudo apt- ...
- Fedora 24 install MySQL
Background I have work with mysql on the fedora OS, but currently fedora have no support mysql inste ...
- Install MySQL on Mac by Homebrew
1. 安装mysql brew update brew install mysql 2. 启动mysql mysql.server start 3. 登录mysql mysql -uroot -p ...
- yum install mysql
rpm -qa|grep -i mysqlmysql-libs-5.1.52-1.1.alios6.1.x86_64mysql-5.1.52-1.1.alios6.1.x86_64mysql-deve ...
- ubuntu install mysql server method
recently try to install mysql in my computer so that I can practise some sql statement on seve ...
随机推荐
- Cannot find or open the PDB file问题的解决
'testcv.exe' (Win32): Loaded 'D:\Documents\Visual Studio 2013\Projects\testcv\x64\Debug\testcv.exe'. ...
- excel将单元格格式由数字转为文本
由于python读取excel数据时,整数总会变成浮点数,例如1会变成1.0,这时可以通过将excel里面的数字转化为文本,再读取出来就不会变成浮点数了.还有一种情况是excel里面的数字是由公式计算 ...
- map集合键值对存储,键值不重复,值可以重复
import java.util.HashMap; import java.util.Hashtable; import java.util.Iterator; import java.util.Li ...
- WizNote for linux installation
源一:没有用处 官网链接http://www.wiznote.com/download-wiznote-for-Linux. 源二:提供了源及安装方法 Fedora 中文社区软件源,具体位置在这里. ...
- laravel(三):larave基本使用
1.基本视图显示 前文已经介绍如何创建控制器.动作和视图,下面我们来创建一些更实质的功能. 在此之前我们需要修改一些配置: app/config/app.php 文件中的 debug 选项设置为 tr ...
- M站开发规范——By Klax
M站开发的规范,根据具体情况,涉及代码组织的模式,代码编码风格,模块化等,经...研究...决定: 1.采用AMD 规范(RequireJS)实现js模块化. 2.单个文件尽量采用面向对象编程和模块化 ...
- 在xaf 14 中实现 Tonyyang原文中的action权限
具体实现过程,主要修改了以下几个地方: 第一:角色和用户类中需要修改成SecurityStrategy的方式: 具体代码 MySecurityRole: using System; using Sys ...
- 序列化--dict与(file)文件读写
在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict: d = dict(name='Bob', age=20, score=88) 可以随时修改变量,比如把name改成'Bill',但 ...
- [刘阳Java]_MyBatis_映射文件的常用标签总结_第5讲
MyBatis中常用标签的总结,简单给出自己的总结 MyBatis映射文件中的标签使用介绍1.<select>:用于编写查询语句用的标签 id:表示当前<select>标签的唯 ...
- 介绍几个 window 下面的terminal
1. putty 配合 winscp 这个是标配 但是如果开多个ssh连接,管理起来很是不方便. 2. MTputty ,如果要管理多态机器,那么这个工具就是相当给力. 可以连接多个Tab,配置和保存 ...