最近由于工作的需要,要在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的更多相关文章

  1. 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. ...

  2. 在OSX狮子(Lion)上安装MYSQL(Install MySQL on Mac OSX)

    这篇文章简述了在Mac OSX狮子(Lion)上安装MySQL Community Server最新版本v10.6.7的过程. MySQL是最流行的开源数据库管理系统.首先,从MySQL的下载页面上下 ...

  3. How to Install MySQL on CentOS 7

    CentOS 7的yum源中貌似没有正常安装mysql时的mysql-sever文件,需要去官网上下载   # wget http://dev.mysql.com/get/mysql-communit ...

  4. gem install mysql遇到问题。解决方案

    今天遇到的问题,是使用gem install mysql遇到的.报下面的错误 Building native extensions. This could take a while... ERROR: ...

  5. linux install mysql

    sudo apt-get install mysql-server #此处会输入root的密码,设置的密码要记住 sudo apt-get install mysql-client sudo apt- ...

  6. Fedora 24 install MySQL

    Background I have work with mysql on the fedora OS, but currently fedora have no support mysql inste ...

  7. Install MySQL on Mac by Homebrew

    1.  安装mysql brew update brew install mysql 2. 启动mysql mysql.server start 3. 登录mysql mysql -uroot -p ...

  8. 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 ...

  9. ubuntu install mysql server method

         recently try to install mysql in my computer so that  I can practise some sql statement on seve ...

随机推荐

  1. android Activity绑定Service

    activity可以绑定Service,并且可以调用Service中定义的方法 Service代码:在里面多了一个IBinder;个人理解是用来与Activity绑定的主要通道: public cla ...

  2. 新版react踩坑总结

    使用es6语法与原本es5语法几个有区别的地方 1.React.creatClass与React.Component var Component = React.createClass({ rende ...

  3. xcode7、iOS9 设置启动图片(Launch Image)

    主要是解决上架的时候遇到的问题,顺便把LaunchImage的使用学习一下,一开始项目使用的xib作为启动页的,最近上架打包的时候报错,通不过,问题如下: ERROR ITMS-90096: &quo ...

  4. Java基础---AWT

    流式布局FlowLayout package net.zyz; import java.awt.Button; import java.awt.FlowLayout; import java.awt. ...

  5. grep使用多个查询条件--或

    [root@mail ~]# grep 'usrquota\|grpquota' /etc/fstabLABEL=/1                /                       e ...

  6. Activity启动模式

    ------siwuxie095 共4种启动模式:standard singleTop singleTask singleInstance 1.标准启动模式(standard) 也即默认的启动模式 ( ...

  7. Oracle存储过程记录异常

    --建立错误日志表 create table PUB_PROC_ERR_LOG ( LOG_ID NUMBER, MODULE_NAME ), PROC_NAME ), ERR_TIME DATE, ...

  8. 决策树(含python源代码)

    因为最近实习的需要,所以用python里的sklearn包重新写了一次决策树 工具:sklearn,http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy:将 ...

  9. Java使用正则表达式取网页中的一段内容(以取Js方法为例)

    关于正则表达式: 表1.常用的元字符 代码 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串 ...

  10. ES6初学习

    建议下一个chrome的插件Scratch.js[https://chrome.google.com/webstore/detail/alploljligeomonipppgaahpkenfnfkn] ...