Linux非root用户安装,初始化,启动MYSQL全流程(踩坑记)
- 写作目的
- 安装包准备
- 安装Cmake
- 安装MYSQL
- 创建几个要用到的文件夹
- cmake构建mysql
- 修改配置文件
- 初始化mysql
- 启动mysql
- DONE
写作目的
如题,基本按照前人教程https://blog.csdn.net/g863402758/article/details/78529447中所述操作。然而一路上定然是有坑的,记录一下,方便大家。
安装包准备
- MySQL安装包:mysql-5.5.37.tar.gz
百度网盘链接:http://pan.baidu.com/s/1dD8Gnz7 密码:he8y - cmake安装包:cmake-2.8.12.2.tar.gz
百度网盘链接:http://pan.baidu.com/s/1kTBlS15 密码:tivp
安装Cmake
下载后解压,进入解压后的目录下,执行下面操作:
- 复制代码1
2./configure --prefix=$HOME/local/cmake-2.8.12.2
- 复制代码1
2make
- 复制代码1
2make install
再配置一下cmake的环境变量
- 复制代码1
2vi ~/.bash_profile
- 复制代码1
2在 path的后面加上 $HOME/local/cmake-2.8.12.2/bin
- 复制代码1
2source ~/.bash_profile
Cmake Done
可输入cmake –version来查看是否安装成功
安装MYSQL
创建几个要用到的文件夹
- mysql数据目录:mkdir -p ~/data/mysql-5.5.37
- mysql配置文件的目录:mkdir -p ~/etc/mysql-5.5.37
- mysqld_safe的日志目录:mkdir -p ~/logs/mysqld_safe/
cmake构建mysql
进入Mysql安装包解压后的文件夹
- 复制代码1
2cmake . -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的配置文件搞到我们的势力范围内。
修改配置文件
- 改端口:默认端口3306建议修改一下,我改成36810
- 改数据路径:
datadir = /home/users/zhouzhirui/data/mysql-5.5.37
此处路径一定要是全的。如果写成~/data/ mysql-5.5.37
或$HOME/data/ mysql-5.5.37
的话,在后面初始化或启动过程中会出问题 [mysql]
#no-auto-rehash
auto-rehash
这是设置mysql里面的自动补全[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
最后
以上就是烂漫秀发最近收集整理的关于Linux非root用户安装,初始化,启动MYSQL全流程(踩坑记)写作目的安装包准备安装Cmake安装MYSQL的全部内容,更多相关Linux非root用户安装,初始化,启动MYSQL全流程(踩坑记)写作目内容请搜索靠谱客的其他文章。
发表评论 取消回复