Linux非root用户安装,初始化,启动MYSQL全流程(踩坑记)

写作目的

如题,基本按照前人教程https://blog.csdn.net/g863402758/article/details/78529447中所述操作。然而一路上定然是有坑的,记录一下,方便大家。

安装包准备

  1. MySQL安装包:mysql-5.5.37.tar.gz
    百度网盘链接:http://pan.baidu.com/s/1dD8Gnz7 密码:he8y
  2. cmake安装包:cmake-2.8.12.2.tar.gz
    百度网盘链接:http://pan.baidu.com/s/1kTBlS15 密码:tivp

安装Cmake

下载后解压,进入解压后的目录下,执行下面操作:

  1.  ./configure --prefix=$HOME/local/cmake-2.8.12.2
    
  2.  make
    
  3.  make install
    

再配置一下cmake的环境变量

  1.  vi ~/.bash_profile
    
  2.  在 path的后面加上 $HOME/local/cmake-2.8.12.2/bin
    
  3.  source ~/.bash_profile
    

Cmake Done
可输入cmake –version来查看是否安装成功

安装MYSQL

创建几个要用到的文件夹

  1. mysql数据目录:mkdir -p ~/data/mysql-5.5.37
  2. mysql配置文件的目录:mkdir -p ~/etc/mysql-5.5.37
  3. mysqld_safe的日志目录:mkdir -p ~/logs/mysqld_safe/

cmake构建mysql

进入Mysql安装包解压后的文件夹

  1.  cmake . -DCMAKE_INSTALL_PREFIX=$HOME/local/mysql-5.5.37 -DMYSQL_DATADIR=$HOME/data/mysql-5.5.37 -DSYSCONFDIR=$HOME/etc/mysql-5.5.37
    

这个地方可能会报一个错误
Could NOT find Curses (missing CURSES_LIBRARY CURSES_INCLUDE_PATH)
错误原因是缺少一个叫ncurses的软件,非root用户可参照https://www.jianshu.com/p/f7f24b4b2625中的方法下载ncurses。下好后将上面的命令后面加上
-DCURSES_LIBRARY=$HOME/local/ncurses-6.0/lib/libncurses.a -DCURSES_INCLUDE_PATH=$HOME/local/ncurses-6.0/include
这部分即为ncurses组件的路径配置
3. make
4. make install
这步完成后在此目录下执行命令
cp support-files/my-huge.cnf ~/etc/mysql-5.5.37/my.cnf
这是为了将mysql的配置文件搞到我们的势力范围内。

修改配置文件

  1. 改端口:默认端口3306建议修改一下,我改成36810
  2. 改数据路径:datadir = /home/users/zhouzhirui/data/mysql-5.5.37此处路径一定要是全的。如果写成~/data/ mysql-5.5.37$HOME/data/ mysql-5.5.37的话,在后面初始化或启动过程中会出问题
  3. [mysql]
    #no-auto-rehash
    auto-rehash
    这是设置mysql里面的自动补全
  4. [mysqld_safe]
    log-error=/home/users/zhouzhirui/logs/mysqld_safe/mysqld.log
    pid-file=/home/users/zhouzhirui/data/mysql-5.5.37/mysqld.pid

初始化mysql

进入~/local/mysql-5.5.37后执行
./scripts/mysql_install_db –no-defaults --defaults-file=/home/users/zhouzhirui/etc/mysql-5.5.37/my.cnf
这里一定要注意defaults-file前是两个横杠,打成一个的话会报错。
另外,这里可能会报这样一个错误
Warning: World-writable config file '/home/users/zhouzhirui/etc/mysql-5.5.37/my.cnf' is ignored
这是由于我们这个目录下的my.cnf的权限太大,任何用户都可以随意读写修改,所以mysql会自动找到/etc/my.cnf文件去进行配置。由于我们没有配置过这个my.cnf文件,而且这个文件是在我们没法修改的区域内(再次强调我们没有root权限…),所以用它来初始化会有很多问题。解决方法可以用
chmod 664 ~/etc/mysql-5.5.37/my.cnf命令来降低my.cnf的修改权限。

启动mysql

./bin/mysqld_safe &

DONE

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值